簡體   English   中英

Facebook getUser返回錯誤的ID

[英]Facebook getUser returns wrong ID

我的應用程序中存在問題。 我需要用戶唯一的東西是facebook id。 登錄到Facebook后,他們被重定向回我的應用程序,我可以使用$ facebook-> getUser()獲取userID。 除非用戶在Facebook上選擇了用戶名,否則此工作正常。 然后我得到一個與userid不同的非常奇怪的長ID。

為了澄清,假設我問用戶沒有設置用戶名的用戶ID,我得到的例子是id:1234567891.當用戶設置了用戶名時,我得到的ID如下:100002339295322。

任何maby知道我怎么能解決這個問題?

如果您需要我如何做事的代碼示例,我會按照facebook開發者網站上的說明進行操作: http//developers.facebook.com

親切的問候,鮑勃

PS:我使用CodeIgniter框架和官方facebook php sdk

* ///編輯\\ *

問題已經解決了。 顯然它與我用於該字段的數據類型有關。 我將它從int更改為varchar,現在一切正常。

我有一個類似的問題,並發現在v2.0 API之后user_id是app范圍。 我有兩個user_id用於相同用戶的個人資料但不同的應用程序,並且兩個都對他們各自的應用程序有效。

您可以訪問用戶個人資料

http://facebook.com/app_scoped_user_id/<USER_ID>

您還可以使用應用令牌和應用范圍的用戶ID查詢圖表api。

參考: https//developers.facebook.com/docs/apps/upgrading/#upgrading_v2_0_user_ids

對於2014年5月1日之后來到這里的用戶,測試應用程序現在默認使用v2 API,如果您的應用程序是使用v1構建的,則會導致問題。 請參閱常見問題解答中的最后一篇文章https://developers.facebook.com/docs/apps/test-apps

並非所有Facebook用戶都有用戶名,但他們都有用戶ID (例如,可選擇使用字母數字用戶名,只需輕松訪問 - facebook.com/johnsmith或smth)

最好的辦法是存儲ID(大約10個數字),如果你要存儲名稱,也可以存儲像stackoverflow那樣的名字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM