5

我正在使用 Facebook API V2.0 JavaScript SDK 创建一个网站,我想显示用户朋友的个人资料图片。我已经设法使用图形 API 显示我的个人资料图片,但如果我登录我的应用程序(我是管理员),我无法获得所有朋友的 ID。如果我有身份证,我就可以显示他们的头像。

图形资源管理器中,我检查了所有权限(用户数据权限 + 扩展权限)。我注意到如果我切换到 API V1.0,我会得到朋友的许可,这正是我想要的。

此外,我在 Facebook 开发人员 > 应用详细信息 > 应用中心列出的平台 > 配置应用中心权限中为我的应用添加了一些权限。(user_friends +friends_birthday +friends_religion_politics +friends_relationships +friends_relationship_details +friends_location +friends_photos +friends_about_me)

到目前为止,我的 html 看起来像这样:

<fb:login-button scope="public_profile,email,user_friends,read_friendlists" onlogin="checkLoginState();">

加载 Facebook SDK 后,我有:

function getUserFriends() {
  FB.api('me/friends?fields=first_name,gender,location,last_name', function (response) {
    console.log('Got friends: ', response);
    $("#friendslist").html('<img src="https://graph.facebook.com/'+ response.id+'/picture?type=large"/>');
  });
  }

但是,假设包含我所有朋友信息的数组是空的(参见图片:http ://www.screencast.com/t/W02GaOm3h )

4

2 回答 2

3

如果您只需要他们的图片,可以在“taggable_friends”范围内找到。但是,请注意,此字段非常有限(根据设计),您需要 Facebook 进行额外审核才能将其展示给普通用户。

它包含:

  • 一个可标记的 id。这是一个具有明确标记目的的 id;它不能用于识别用户或以其他方式从他们的个人资料中收集信息。
  • 一个名字。用户的名字和姓氏。
  • 一张图片,有共同的相关领域。网址,is_silhouette,高度和宽度。

    function getUserFriends() {
      FB.api('me/taggable_friends', function (response) {
        console.log('Got friends: ', response.data);
        $("#friendslist").html('<img src="'+response.data[0].picture.data.url+'"/>');
        // maybe an $.each as well
        // var friendMarkup = '';
        // $.each(response.data, function(e, v) {
        //   friendMarkup += '<img src="' + v.picture.data.url +'" alt="'+ v.name +' picture"/>';
        // }
        // $("#friendlist").html(friendMarkup);
      });
    }
    

相关阅读:
https ://developers.facebook.com/docs/graph-api/reference/v2.0/user/taggable_friends https://developers.facebook.com/docs/opengraph/using-actions/v2.0 -标记朋友和提及朋友部分

免责声明:我已经与这个问题斗争了好几天,但实际上无法提及标签。我提交的使用 taggable_friends 作为用户的全面、可导航列表被拒绝了,我推测(推测 ho!)这是因为我没有实际标记。几天后,当我澄清并重新提交我在 Facebook 上的审核请求后,我会回复这个问题。

- 编辑 -

我最初的提交被拒绝的原因似乎是因为我使用了一个特殊的开发 url 并且没有足够清楚地指出为什么使用设置下设置的 url 是不够的。这一次,我在我提交的一般描述和分步说明中都清楚地指出并解释了这个推理。总之,在您提交的所有内容中都非常清楚;您对为什么需要此权限的推理,他们如何访问它等。只是为了确保在浏览时不会错过它。

于 2014-05-20T07:09:56.113 回答
2

似乎在 V2.0 中,好友权限已经消失: Facebook 图形 API 浏览器不显示“好友数据权限”选项卡 https://developers.facebook.com/docs/facebook-login/permissions/v2.0

于 2014-05-24T10:48:09.887 回答