0

这是引发上述错误的代码:

    $friend_json = $facebook->api('/me/friends');
    $friends = array();
    foreach($friend_json->data as $friend) {
        $friends[] = $friend->name;
    }
    $friend_list = json_encode($friends);

我知道这段代码是有效的,因为当我执行相同的查询时它没有抛出这个错误,而是在使用直接 Graph API URL 和file_get_contents();. SDK 已正确安装,因为它用于在同一脚本中成功提取用户数据。

4

3 回答 3

0

尽管$user_friends它是一个数组的数组,据我所知,它在 PHP 中被视为一个对象,但它不喜欢我'->'用来访问它的子数组,所以我使用了方括号。谢谢你的帮助。

工作代码: $friend_list = $facebook->api('/me/friends');

$friends = array();
foreach($friend_list['data'] as $friend) {
    $friends[] = $friend['name'];
}
$friend_list = json_encode($friends);
于 2012-04-19T13:48:11.183 回答
0

尝试这个,

$user_friends = $facebook->api('/me/friends');
$friends_details = json_decode(file_get_contents('https://graph.facebook.com/me/friends?access_token=<your access token>']), true);
for($i=0;$i<sizeof($friends_details);$i++){
   $friends_name[] = $friends_details['data'][$i]['name'];
}
于 2012-04-19T12:35:03.497 回答
0

来自的回应Facebook::apiArray

foreach($friend_json['data'] as $friend) {
  $friends[] = $friend->name;
}

最好添加简单的错误检查。

if ($friend_json && isset($friend_json['data'])
  foreach($friend_json['data'] as $friend) {
    $friends[] = $friend->name;
  }
于 2012-04-19T12:27:50.013 回答