新的Facebook图表api已将朋友分成Friends
& Invitable_friends
。
me/friends/
返回正在使用该应用的朋友,而me/invitable_friends/
仅返回未使用该应用的朋友列表。
但在我的应用中,用户可能也会与可能不在他朋友列表中的随机用户进行互动。
那么我如何获得使用该应用程序但不在我朋友列表中的用户数据。
感谢。
答案 0 :(得分:0)
我经历了同样的问题并且解决了这个问题:当用户默认启动您的应用时,您要求获得访问其公开个人资料信息的权限,其中包括真实身份证,姓名和其他信息。您只需将用户数据(ID,名称等)存储在数据库中。通过这种方式,您可以跟踪使用您的应用的所有人,并且他们可以互相交流。
JavaScript示例:
window.fbAsyncInit = function () {
FB._https = true;
console.log('here');
FB.init({ appId: 'xxxxxxxxxxxxxxxx', cookie: true, xfbml: true, oauth: true, version : 'v2.0'});
Login();
};
function Login() {
FB.login(function(response) {
if (response.authResponse){
checkUser();
}
else{
console.log('User cancelled login or did not fully authorize.');
}
}
);
}
function checkUser() {
FB.api('/me', function(response) {
$.ajax({
type: "get",
url: "cgi-bin/checkUser.cgi",
cache: false,
data: {"user_name" : response.name, "u_id" : response.id, "link" : response.link},
success: function() //onSuccess,
{
console.log("user " + response.name + " checked!");
},
error: function()
{
console.log("Error with server connection on user checking");
}
});
});
}
我不知道你用什么语言编写应用程序,但我相信在每种语言中都应该调用“登录”功能,该功能要求用户提供权限并基本上可以访问信息。
答案 1 :(得分:0)
要获取使用该应用但不是您的朋友的用户的详细信息,请致电以下
graph.facebook.com/v2.0 /
IDS = {逗号分隔的id}&安培; =的access_token&app_access_token放大器;字段=名称,图片
access_token是必须的图形-api返回以下错误 -
The global ID xyz is not allowed. Please use the application specific ID instead.
这适用于已经对应用进行身份验证的所有用户,无论他们的身份验证日期如何,但对于任何非应用用户,graph-api都会返回错误消息。