2011-12-21 60 views
0

我需要得到一個簡單的Facebook用戶ID,而無需向Facebook做請求。需要檢索從Facebook的用戶ID c#sdk沒有向Facebook發出請求

我不知所措。我一直在使用'FBConnectAuth.dll'來輕鬆地在我的web應用程序中進行所有的Facebook操作,但自上週以來,它不再工作。

所以我切換(或試圖)到這個新的c#sdk版本5.4。 2天后,我終於找到了足夠的文檔,網上數字基本和能夠發出請求給Facebook使用此方法來用戶信息:

Dim fb = New FacebookWebClient() 
FBUser = DirectCast(fb.[Get]("me"), IDictionary(Of String, Object)) 

美術......所以我可以做Facebook的請求......

但爲什麼我不能找到一種方法來獲取用戶ID而不調用這個方法並且向facebook發出特殊請求?

如果沒有該UserID,則無法緩存從Facebook請求中檢索到的用戶數據,因此這意味着在每個頁面視圖上對Facebook進行請求。

回答

0

對於登錄的用戶則可以使用找到的用戶ID:

Facebook.Web.FacebookWebContext.Current.UserId 

這讀取身份驗證cookie的用戶ID。

0

用戶標識是簽名請求的一部分,它是您的應用程序的一部分。因此,只要您在Facebook應用程序中加載您的網頁,您就可以訪問已簽名的請求,並因此可以訪問用戶標識。

您也可以使用Json解析簽名的請求,在本文中查看我的答案,您將會對此有更多的瞭解。 Decode Signed Request Without Authentication