0

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

我很茫然。我一直在我的网络应用程序中轻松地使用 'FBConnectAuth.dll' se 来处理我所有的 facebook,但从上周开始它就不再起作用了。

所以我切换(或尝试)到这个新的 c# sdk 版本 5.4。两天后,我终于在网上找到了足够的文档来了解基本信息,并能够使用以下方法向 facebook 请求用户信息:

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

好吧...所以我可以向 facebook 提出请求...

但是为什么我不能找到一种方法来获取用户ID,而无需调用此方法并向facebook 发出特殊请求?

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

4

2 回答 2

0

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

您还可以使用 Json 解析签名请求,请参阅我在这篇文章中的回答,您会对此有更多了解。 无需身份验证即可解码签名请求

于 2012-01-04T17:23:41.783 回答
0

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

Facebook.Web.FacebookWebContext.Current.UserId

这会从身份验证 cookie 中读取用户 ID。

于 2011-12-22T00:32:21.580 回答