Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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 javascript API获取Facebook公共配置文件_Javascript_Facebook_Facebook Graph Api - Fatal编程技术网

使用Facebook javascript API获取Facebook公共配置文件

使用Facebook javascript API获取Facebook公共配置文件,javascript,facebook,facebook-graph-api,Javascript,Facebook,Facebook Graph Api,我正在使用FBJavaScript,只获取用户id、图像、名称。但我想知道其他的细节,比如关于我、地点、教育等,这些都是公开的。我的代码在下面 var all_results = []; var fb_results = []; (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s

我正在使用FBJavaScript,只获取用户id、图像、名称。但我想知道其他的细节,比如关于我、地点、教育等,这些都是公开的。我的代码在下面

var all_results = [];
var fb_results = [];
(function(d, s, id){
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) {return;}
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

window.fbAsyncInit = function() {
    FB.init({
      appId      : facebook_id,
      xfbml      : true,
      version    : 'v2.0',
      status : true
    });
    isFBLoaded = true;
};

FB.getLoginStatus(function(response) {
    if (response.authResponse) {
        fbUserId = response.authResponse.userID;
        token = response.authResponse.accessToken;
    }else{
        FB.login(function(response) {
            if (response.authResponse) {
                fbUserId = response.authResponse.userID;
                token = response.authResponse.accessToken;
            }else {
                     //console.log('User cancelled login or did not fully authorize.');
            }
        }, {scope: 'user_location'});
    },true);

    FB.getLoginStatus(function(response) {
        if (response.status != 'connected') {
            alert("Facebook Login is required.");
            return;
        }else{
            get_user_from_fb();
        }
    });
}


function get_user_from_fb(){
    FB.api(
        "https://graph.facebook.com/search?q="+ encodeURIComponent(user_name) +"&type=user","get","",function (response) {
            var n = 0;
            fb_results = [];
            var response_type = typeof(response.data);
            while(response_type!="undefined" ){
                var user_name = response.data[n].name;
                var user_id = response.data[n].id;
                var user_arr = [user_id,user_name];
                fb_results.push(user_arr);
                n++;
            }       
        }
    );
}
function get_user_full_details(){
    FB.api(
            user_arr[0]+"/picture/","get","",function (img_response){
                var temp_user = [user_arr[1],user_arr[0],img_response.data.url];
                all_results.push(temp_user);
            }
        );
    });
}
我修改了代码来缩短它。基本上有三件事

  • Facebook令牌、js加载等

  • 通过用户在表单中输入的用户名获取用户列表(facebook用户id、名称)

  • 正在获取该用户的用户映像。 但我想了解其他公共细节,如地点、教育、关于我的信息等

  • 注意:我想获得任何用户的详细信息,而不是
    FB.api('me',…)
    我想公开用户的基本信息。就像我能直接看到的一样 {user_id}/about

    我只是觉得

    {
      "id": "user_id", 
      "first_name": "Amit", 
      "last_name": "Sharma", 
      "link": "https://www.facebook.com/app_scoped_user_id/user_id/", 
      "name": "Amit Sharma", 
      "updated_time": "2014-04-28T02:51:21+0000"
    }
    
    我无法获得任何用户的详细信息,我的应用程序设置为

    年龄限制(13岁以上)

    是否要使此应用及其所有live功能向公众开放? 对

    核准项目 登录权限 电子邮件

    提供对此人主要电子邮件地址的访问。默认情况下,此权限已批准

    公众档案 提供对个人基本信息的访问,包括名字、姓氏、个人资料图片、性别和年龄范围。默认情况下,此权限已批准。 用户与朋友

    提供对也使用您的应用程序的好友列表的访问。默认情况下,此权限已批准


    以上所有内容均已启用(绿色图标)

    您需要的用户权限是否需要更多信息?即使公共基本信息不可用?我正在按姓名搜索FB,我的应用程序将获得我无法获得权限的未知用户列表。是的,甚至是公共信息确定。所以不可能同时使用其他api?比如PHP SDK?很奇怪,我可以获得任何使用api的用户的公开帖子,但无法获得配置文件详细信息…无论如何,感谢@WizKid的回复