Javascript 在一个facebook应用程序中为一个facebook用户获取不同的用户ID?

Javascript 在一个facebook应用程序中为一个facebook用户获取不同的用户ID?,javascript,facebook,facebook-graph-api,Javascript,Facebook,Facebook Graph Api,我正在编写一个facebook应用程序,用户可以通过 FB.ui({method: 'apprequests'}, function(response) { console.log(response); });` 我获得的当前用户的ID window.fbAsyncInit = function() { FB.Event.subscribe('auth.statusChange', function(response){ console.log(response

我正在编写一个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在应用程序范围内都是一样的。对于大多数用户来说,该应用程序工作正常。但对于其中一个应用程序测试人员(角色为“管理员”的真实现有fb用户,而不仅仅是创建的测试用户),有两个不同的ID。当用户自己登录时,ID与其他用户邀请他时返回的ID不同

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

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

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

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

我的javascript文件中还有一段代码,其中用户id被意外地用作整数而不是字符串。Javascript对于非常大的整数有问题,所以这是一个舍入问题

因此,解决方案是始终使用字符串类型作为id。