需要从facebook c#sdk检索用户ID而不向facebook提出请求

时间:2011-12-21 23:59:58

标签: facebook-c#-sdk userid

我需要获得一个简单的facebook用户名,而无需向facebook发送请求。

我不知所措。我一直在使用'FBConnectAuth.dll'轻松地在我的网络应用程序中进行所有的面部预订,但自上周以来它不再起作用。

所以我切换(或试图)这个新的c#sdk版本5.4。 2天后,我终于在网上找到了足够的文档来确定基本知识,并能够通过这种方法向facebook发送用户信息请求:

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

很好......所以我可以向facebook发出请求......

但是为什么我不能在不调用此方法的情况下找到获取userID的方法并向facebook发出特殊请求?

如果没有该UserID,则无法缓存从facebook请求中检索到的用户数据,因此这意味着在每个页面视图上向facebook发送请求。

2 个答案:

答案 0 :(得分:0)

对于已登录的用户,您可以使用以下命令找到用户ID:

Facebook.Web.FacebookWebContext.Current.UserId

这将从身份验证cookie中读取用户标识。

答案 1 :(得分:0)

用户ID是签名请求的一部分,签名请求是您的应用程序的一部分。因此,只要您在Facebook应用程序中加载您的网页,您就可以访问已签名的请求,从而访问用户ID。

您也可以使用Json解析已签名的请求,请参阅本文中的答案,您将对此有更多的了解。 Decode Signed Request Without Authentication