Facebook用户谁不是我的朋友,但使用该应用程序

时间:2014-08-11 05:22:52

标签: facebook facebook-javascript-sdk facebook-graph-api-v2.0

新的Facebook图表api已将朋友分成Friends& Invitable_friends

me/friends/返回正在使用该应用的朋友,而me/invitable_friends/仅返回未使用该应用的朋友列表。

但在我的应用中,用户可能也会与可能不在他朋友列表中的随机用户进行互动。

那么我如何获得使用该应用程序但不在我朋友列表中的用户数据。

感谢。

2 个答案:

答案 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都会返回错误消息。