2014-09-30 172 views
0

我是一个用户内编程的Facebook应用程序可以通过在一个facebook-App中为一个facebook用户获取不同的用户ID?

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

邀请好友当前用户我得到

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)。什么原因?这个问题只有多个测试用户中的一个。有任何想法吗?

+0

在https://developers.facebook.com/bugs上提交错误 – WizKid 2014-09-30 15:25:31

回答

0

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

我曾在我的JavaScript文件中的额外代码,其中用户ID不小心被用来作为一个整数,而不是作为一个字符串。 JavaScript有非常大的整数的问题,所以这是一个四舍五入的问题。

所以解决方案是总是使用字符串类型的id。

相关问题