【问题标题】:Getting different user IDs for one facebook user within one facebook-App?在一个 facebook-App 中为一个 facebook 用户获取不同的用户 ID?
【发布时间】:2014-09-30 13:21:28
【问题描述】:

我正在编写一个用户可以通过以下方式邀请朋友的 facebook 应用程序

FB.ui({method: 'apprequests'}, function(response) {
    console.log(response);
});`

我得到的当前用户的ID

window.fbAsyncInit = function() {
    FB.Event.subscribe('auth.statusChange', function(response){
        console.log(response.authResponse.userID);
    });

    FB.init({
        appId      : **************,
        cookie     : true,
        xfbml      : false,
        version    : 'v2.0',
        status     : true
    });
}

我总是保存自己的用户 ID 和用户名以及用户邀请的所有 ID。当受邀用户登录应用时,该受邀用户应该会看到邀请来自的朋友姓名。

我认为这很容易,因为我认为用户 ID 在应用程序范围内总是相同的。对于大多数用户来说,该应用程序可以正常工作。但是对于其中一个应用程序测试人员(具有“管理员”角色的真实现有 fb 用户 - 不仅仅是创建的测试用户),有两个不同的 ID。用户自己登录时,ID与其他用户邀请时返回的ID不同。

apprequests 方法返回以下 ID 中的第一个,第二个返回 statusChange:

102048*****482880
102048*****482879

您可以看到,ID 彼此非常相似,但并不相同(只是 +1)。什么原因?这个问题只有多个测试用户之一。有什么想法吗?

【问题讨论】:

标签: javascript facebook facebook-graph-api


【解决方案1】:

我现在可以解决我的问题了:

我的 javascript 文件中有一个附加代码,其中用户 ID 被意外用作整数而不是字符串。 Javascript 在处理非常大的整数时存在问题,所以这是一个舍入问题。

所以解决方案是始终使用字符串类型作为 id。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多