2014-05-18 21 views
2

在我編寫的許多應用程序中,每次我想讓用戶有機會通過Facebook登錄時,我都會在登錄後獲取用戶ID,並將其與我的應用程序的用戶帳戶配對。但是,在介紹v2.0之後,我不太確定我應該如何配對它們。如果我現在升級而沒有做任何改變,但改變了API端點,由於用戶ID之間的不一致,我最終得到重複的帳戶(我將在具有舊ID的數據庫中搜索新的(APP範圍)使用的ID)。我應該如何升級而不會損失每個用戶的一致性 爲了證明我怎麼retreive自己的賬戶,我會加入一點PHP這裏如何從Graph API v2.0獲取舊的UserID?

<?php 
$user = $db->fetchQuery("SELECT * FROM users WHERE fb_id = ".$facebookSDK->getUser()); 

回答

4

一致性應該是在這裏很好,一個單一的應用程序中。

如果用戶已在2014年4月30日之前通過應用程序進行身份驗證,則您收到的身份證不會更改。對於在2014年4月30日或之後進行身份驗證的新用戶,您將獲得具有相同格式但不是標準「fbid」的「應用範圍」ID。

對於由同一開發人員擁有的應用程序,業務經理可以爲不同應用程序中跨應用程序範圍ID的用戶提供映射。

https://business.facebook.com/

+0

這就是我解決這個問題 - 我有成千上萬的誰V1.0期間註冊人現在,由於他們的「新」fbid不一致,如果我開始獲取應用程序範圍的ID,他們將獲得新帳戶而不是舊帳戶。 –

+1

這不是它應該工作的方式。如果他們已經授權您的應用程序,您應該繼續獲得實際的fbid。你可能想要在developers.facebook.com上打開一個bug來解決這個問題。 – Fosco

+0

如果用戶已經授權您的應用程序,您將獲得與您始終使用相同的用戶ID,但不會更改 – Igy

-3

有一個骯髒的黑客找回原來的Facebook ID

http://graph.facebook.com/應用範圍的-ID這個返回的Facebook公開,情報與用戶名一起

然後你再拍圖api與通話用戶名 http://graph.facebook.com/usernam Ë

這將返回,而不是應用範圍的-ID原來的Facebook ID等公共信息,

+1

v2.0不再返回用戶名 –

相關問題