2014-06-05 41 views
0

在我的ASP.NET MVC應用程序中,我使用Facebook身份驗證,並且使用數字Facebook ID來查看用戶是否已經在我的系統中 - 不是用戶名而是用戶名。我應該使用用戶名還是Facebook ID?

但是,今天我遇到了一個有趣的情況。儘管我只有一個Facebook帳戶,並且兩個ID都指向相同的Facebook用戶名,但我似乎擁有2個Facebook ID。

不知道爲什麼Facebook會爲我返回不同的ID。在這個有趣的發現之後,我開始質疑我的方法的有效性。我是否應該使用Facebook用戶名來檢查用戶是否已經在我的系統中註冊,而不是數字ID?

+0

2個Facebook帳戶的ID?這聽起來不對。你怎麼知道你有2個ID? –

+0

我知道我原來的Facebook ID並將它存儲在我的數據庫中。我發現這個: https://developers.facebook.com/docs/apps/upgrading 看起來Facebook現在基於應用程序爲每個用戶創建一個新的ID。他們稱之爲應用範圍ID。 – Sam

+0

如果您使用Facebook的Graph API,您可以在https://graph.facebook.com/YourUserName查看您的ID。 –

回答

0

看起來像您存儲的舊的「全局」user_id和新的應用程序範圍之一。您不能再使用v2.0中的username字段,因爲它已被棄用。你爲什麼不使用third_party_id?這是爲了達到你的目的。

+0

我認爲你是對的。 third_party_id似乎是正確的做法。對於那些擁有多個應用的​​用戶,Facebook提供了Business Mapping API,以便可以爲同一用戶映射來自不同應用的不同應用範圍ID。感謝您的幫助。 – Sam

相關問題