我需要获得一个简单的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发送请求。
答案 0 :(得分:0)
对于已登录的用户,您可以使用以下命令找到用户ID:
Facebook.Web.FacebookWebContext.Current.UserId
这将从身份验证cookie中读取用户标识。
答案 1 :(得分:0)
用户ID是签名请求的一部分,签名请求是您的应用程序的一部分。因此,只要您在Facebook应用程序中加载您的网页,您就可以访问已签名的请求,从而访问用户ID。
您也可以使用Json解析已签名的请求,请参阅本文中的答案,您将对此有更多的了解。 Decode Signed Request Without Authentication