2011-12-21 61 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