Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得Facebook用户';s的朋友';使用Javascript SDK V2.0的配置文件图片_Javascript_Facebook_Facebook Graph Api_Facebook Graph Api V2.0 - Fatal编程技术网

如何获得Facebook用户';s的朋友';使用Javascript SDK V2.0的配置文件图片

如何获得Facebook用户';s的朋友';使用Javascript SDK V2.0的配置文件图片,javascript,facebook,facebook-graph-api,facebook-graph-api-v2.0,Javascript,Facebook,Facebook Graph Api,Facebook Graph Api V2.0,我正在使用Facebook API V2.0 JavaScript SDK创建一个网站,我想显示用户朋友的个人资料图片。 我已经使用graph API显示了我的个人资料图片,但是如果我登录了我的应用程序(我是管理员),我无法获得我所有朋友的ID。如果我有身份证,我就可以显示他们的个人资料图片 在中,我检查了所有权限(用户数据权限+扩展权限)。我注意到,如果我切换到API V1.0,我会得到朋友的许可,这正是我想要的 另外,我在Facebook开发者>应用程序详细信息>应用程序中心上市平台>配置应

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

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

另外,我在Facebook开发者>应用程序详细信息>应用程序中心上市平台>配置应用程序中心权限中为我的应用程序添加了一些权限。(用户\朋友+朋友\生日+朋友\宗教\政治+朋友\关系+朋友\关系\详细信息+朋友\位置+朋友\照片+朋友\关于我)

到目前为止,我的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"/>');
  });
  }
函数getUserFriends(){ api('me/friends?字段=名字、性别、位置、姓氏',函数(响应){ log('Got friends:',response); $(“#friendslist”).html(“”); }); }
但是,假设包含所有“我的朋友”信息的数组为空(请参见图:)

如果您只需要他们的图像,可以在“标记朋友”范围中找到。然而,请注意,这个领域是非常有限的(由设计),你需要Facebook的额外审查,以呈现给普通用户

它包括:

  • 可标记id。这是一个明确用于标记的id;它不能用于识别用户或从其配置文件中收集信息
  • 一个名字。用户的名字和姓氏
  • 图片,带有公共相关字段。Url,是_轮廓、高度和宽度

    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);
      });
    }
    
    函数getUserFriends(){ FB.api('me/taggable_friends',函数(响应){ log('Got friends:',response.data); $(“#friendslist”).html(“”); //也许每人一美元 //var-friendMarkup=''; //$。每个(响应、数据、函数(e、v){ //friendMarkup+=''; // } //$(“#friendlist”).html(friendMarkup); }); }
相关阅读:
-标记好友和提及好友部分

免责声明:我已经为这个问题争论了好几天,却没有真正提到tag。我提交的使用taggable_friends作为用户全面、可导航列表的申请被拒绝,我推测(推测ho!)这是因为我没有做任何实际的标记。我将在几天后澄清并在Facebook上重新提交我的审查请求后再讨论这个问题

--编辑-- 我的首次提交被拒绝的原因似乎是因为我使用了一个特殊的开发url,并且没有清楚地指出为什么它不足以使用设置下设置的url。这次我在提交的一般说明和分步说明中清楚地指出并解释了这一理据。我总之,在你提交的材料中要特别清楚地说明一切;你为什么需要这个许可的理由,他们如何访问它,等等。只是为了确保浏览时不会遗漏它


在V2.0中,朋友权限似乎消失了:

你的应用程序是在2014年4月30日之后创建的吗?如果是这样,你就不能使用API v1.0Hi!谢谢你的评论。是的,该应用程序是在2014年5月创建的,因此我似乎必须使用v2.0。好的,在API v2.0中,你只能访问使用你的应用程序的朋友(不是所有朋友),并且所有的朋友权限都已被删除。