使用Facebook javascript API获取Facebook公共配置文件
我正在使用FBJavaScript,只获取用户id、图像、名称。但我想知道其他的细节,比如关于我、地点、教育等,这些都是公开的。我的代码在下面使用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
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);
}
);
});
}
我修改了代码来缩短它。基本上有三件事
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的回复