【问题标题】:facebook sdk php get friends namesfacebook sdk php 获取好友姓名
【发布时间】:2014-06-06 03:08:52
【问题描述】:

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

【问题讨论】:

  • 在 2014 年 4 月 30 日之前创建的应用程序可以获得所有朋友,并且他们可以在 2015 年 4 月 30 日之前这样做。 2014 年 4 月 30 日之后创建的应用程序无法访问所有朋友。但是根据您使用 taggable_friends 或社交上下文 api 所做的事情可能对您有用
  • 我正在尝试使用 taggable_friends 但我在使用 2.0 版时遇到了版本问题(taggable_friends 需要 v2.0 或更高版本)...

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


【解决方案1】:

有一个新的 API 端点可用于获取朋友姓名。您可以使用新的/me/taggable_friendsfriends 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)

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

【讨论】:

  • 是的,我正在尝试使用 taggable_friends,但我遇到了这个问题:taggable_friends 需要 v2.0 或更高版本 我在哪里可以找到使用 v2.0 的示例?我正在使用 js.src = "//connect.facebook.net/en_US/sdk.js";和 FB.init({ appId : '446120005531689', cookie : true, // 启用 cookie 以允许服务器访问 // 会话 xfbml : true, // 解析此页面上的社交插件 version : 'v2.0' / / 使用版本 2.0 });
  • 您已经在使用 v2.0 JavaScript SDK。看看上面写着version: 'v2.0'
  • Niraj Shah,它显示一个错误,即taggable Friends仅适用于2.0或更高版本。
  • 一定是bug,因为你使用的代码是v2.0代码。
  • 我已更新我的答案以包含 PHP 和 JavaScript 的示例代码。
【解决方案2】:

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

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

【讨论】:

  • 是的,我正在尝试使用 taggable_friends,但我遇到了这个问题:taggable_friends 需要 v2.0 或更高版本
  • 那么当你调用v2.0/taggable_friends 时会发生什么?如果您使用的是 v1.0,您可以像以前一样获取好友列表:/&lt;user&gt;/friends
  • Igy,不能再叫朋友了,只列出正在使用该应用的朋友
猜你喜欢
  • 2010-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多