2012-09-04 56 views
0

我是Facebook API的初学者。我刚刚创建的应用程序,我想显示的姓名和朋友的号码:Facebook API错误致命错误:(未捕获OAuthException:错误验证应用程序)

这是我的代码:

<?php 

require_once 'facebook-php-sdk/src/facebook.php'; 

$appapikey = '133XXXX60164049'; 
$appsecret = ' ce6a47dfd838WWWWWW34f387b28633660'; 

$facebook = new Facebook($appapikey, $appsecret); 

$user_id = $facebook->getUser(); 

$friends = $facebook->api('/me/friends'); 

echo "<p>Hello <fb:name uid=\"$user_id\" useyou=\"false\" linked=\"false\" firstnameonly=\"true\"></fb:name>, you have ".count($friends)." friends"; 

foreach($friends as $friend){ 
    $infos.=$friend.","; 
} 

$infos = substr($infos,0,strlen($infos)-1); 

$gender=$facebook->api_client->users_getInfo($infos,'sex'); 

$gender_array = array(); 

foreach($gender as $gendervalue){ 
    $gender_array[$gendervalue[sex]]++; 
} 

$male = round($gender_array[male]*100/($gender_array[male]+$gender_array[female]),2); 
$female = 100-$male; 

echo "<ul><li>Males: $male%</li><li>Females: $female%</li></ul>"; 

?> 

我得到这个

Fatal error: Uncaught OAuthException: Error validating application. Cannot get application info due to a system error. thrown in D:\softs\UwAmp\www\facebook-php-sdk\src\base_facebook.php on line 1238


我想只显示用户名如下:

<?php 

require_once 'facebook-php-sdk/src/facebook.php'; 

$appapikey = '453976ergerger647366'; 
$appsecret = 'fexxxxxxxxeb39bbce717b8062'; 

$facebook = new Facebook($appapikey, $appsecret); 

$user_id = $facebook->getUser(); 



echo "<p>Hello <fb:name uid=\"$user_id\" useyou=\"false\" linked=\"false\" firstnameonly=\"true\"></fb:name>"; 
?> 

但它不起作用。只有“你好”出现:s

回答

0

我认为你的问题在foreach($friends as $friend)部分。

如果我是正确的,它会返回一个数组{data}。所以你需要说

foreach(friends['data'] as $friend) 

也许做一些评论,看到这里的错误是,让一个print_r($friends)看到阵列的模样!

+0

有一些意见,我可以说错误发生在这一行: $ friends = $ facebook-> api('/ me/friends'); – Slrg

+0

我试图添加这个: $ friends = $ facebook-> api_client-> friends_get();但仍然是相同的问题 – Slrg

+0

删除它,并检查是否可以显示$ user_id –

相关问题