2015-06-14 72 views
0

我有一個nodeJS應用程序與Facebook登錄提供的facebook通行證策略。一旦用戶登錄,我將他的數據保存到我自己的數據庫中供以後使用。爲此,我需要創建一個Facebook應用程序。從Facebook應用程序的配置中,我設置了角色的人員。在我的應用程序(服務器端)中,我打算查詢這些角色人員,並且只有在列出角色人員時才允許登錄。我使用facebook Graph API從角色查詢自己(這需要先獲取應用訪問令牌)。我設法查詢自己,並獲得我自己的用戶ID。但是這與存儲在我的應用程序數據庫中的id沒有什麼不同。除了ID中的最後兩個數字之外,所有內容都完全相同。在我的數據庫中,最後兩個是40,在圖表api查詢中,最後兩個是39。它們有什麼不同?爲什麼Facebook應用程序角色ID與用戶標識不同?

我知道用戶ID是應用範圍的,因此每個應用都有自己的用戶ID。但是因爲我確實把自己當成了應用程序的角色,所以它應該返回我相同的應用程序範圍ID,對吧?或者,Facebook應用程序更新時,應用程序範圍的ID是否會更改?我已經更新了很多次,所以我想知道是否可以。或者是與我自己的數據庫相關的東西。我使用了mongoose(mongoDB),並且id的模式類型是Number。

+2

聽起來像你可能已經存儲了用戶id作爲整數。由於它們很容易超出有效整數的範圍,因此它們可能會被當作漂浮物來處理,而這將解釋這種差異。 __Always__將Facebook(用戶)ID保存爲字符串值(並且一般而言)。 – CBroe

+0

是的,就是這樣!非常感謝 :)。把你的評論作爲答案,我會選擇它作爲正確的:) –

回答

3

聽起來像你可能已經將用戶標識符存儲爲整數。由於它們很容易超出有效整數的範圍,因此它們可能會被當作漂浮物來處理,而這將解釋這種差異。

總是將Facebook(用戶)的ids存儲(並且一般而言)爲字符串值。

相關問題