Facebook SDK PHP获取好友名称


facebook sdk php get friends names

我已经读过关于新的facebook sdk for php,它说,你不能再检索你的朋友信息,它说,邀请朋友,等等。但实际上我用的是一个能随机获取朋友名字的应用,它不是一个游戏应用,我需要完全相同的随机朋友的名字,问候。

有一个新的API端点可用于获取好友名称。新的/me/taggable_friends好友API调用是你可以使用的:

/v2.0/me/taggable_friends

响应将包括好友名称、个人资料图片和可用于标记API调用的加密ID。参考这里的文档。

使用JS API,你可以这样做:
FB.login(function(){
  FB.api('/me/taggable_friends', 'get', function( response ) {
    console.log( response );
  } );
} );
使用PHP:

$taggable = (new FacebookRequest( $session, 'GET', '/me/taggable_friends' ))->execute()->getGraphObject()->asArray();
echo '<pre>' . print_r( $taggable, 1 ) . '</pre>';

查看完整的PHP示例。

你必须得到这个权限审查与最终用户使用它。如果不这样做,您将看到如下消息:

(#10)使用taggable_friends来代表非管理员的人,开发者和测试者对你的应用,你必须使用这个端点由Facebook审核和批准。提交此功能以供审查请阅读我们关于可查看特性的文档:https://developers.facebook.com/docs/apps/review


编辑

为好友获取更大的个人资料图片,您需要使用fields参数并请求特定类型或大小的图片,例如:

/me/taggable_friends?fields=id,name,picture.type(large)

/me/taggable_friends?fields=id,name,picture.width(500)
使用PHP:

$taggable = (new FacebookRequest( $session, 'GET', '/me/taggable_friends', [ 'fields' => 'id,name,picture.type(large)' ] ))->execute()->getGraphObject()->asArray();
echo '<pre>' . print_r( $taggable, 1 ) . '</pre>';

从v2.0开始;只有使用正在请求的应用程序的朋友可以用{user-id}/friends获取。

使用与v1.0相同的API可以获取所有好友列表。但是这个版本将在2015年4月30日之后被移除。参考