facebook sdk php得到朋友的名字

时间:2014-06-06 03:08:53

标签: php facebook facebook-graph-api sdk facebook-php-sdk

我已经读过有关php的新facebook sdk, 它谈到你不能再检索你的朋友信息了,它说邀请朋友等等。 但实际上我使用的应用程序获得了一些随机的朋友名字,并且不是游戏应用程序, 我需要完全相同的随机朋友名字, 问候。

2 个答案:

答案 0 :(得分:1)

有一个新的API端点可用于获取朋友的名字。您可以使用新的/me/taggable_friends朋友API调用:

/v2.0/me/taggable_friends

响应将包括朋友姓名,个人资料照片和可用于标记API调用的加密ID。 See the documentation here

使用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>';

See the full PHP example here

您必须审核此权限才能将其与最终用户一起使用。如果你不这样做,你会看到如下消息:

  

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


修改

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

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

OR

/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>';

答案 1 :(得分:0)

从v2.0开始;只有使用请求的应用的朋友才能使用{user-id}/friends获取。

使用与v1.0相同的API能够获取所有朋友列表。但此版本将于2015年4月30日之后删除。Reference