2014-09-30 67 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。

相關問題