我目前正在编写一个在页面选项卡中运行的Facebook应用程序。我用C#编写了一个简单的Web Forms应用程序,使用从NuGet提取的最新版本的C#SDK。主页面选项卡正常工作。我从FacebookWebContext.Current.SignedRequest获取所需的所有信息,我很好。我正在尝试编写一个页面,该页面管理员将使用该页面来设置应用程序,因此这是在应用程序设置中的“编辑URL”下面的页面。无法弄清楚如何使用Facebook获取访问令牌c#sdk
我真正想要做的就是获取当前登录的用户ID,并确定他是否为相关页面的管理员。
我这样做:
var client = new FacebookClient();
dynamic me = client.Get("me");
在Page_Load中
,并获得以下异常:
(OAuthException) An active access token must be used to query information about the current user.
我已经尝试了一堆东西来获得访问令牌,但我不似乎并不知道我做错了什么。有没有一个简单的方法来做到这一点?
更新: 我想出了一点,我有一个参考我的母版页上的旧JS SDK,这是一个问题。 (请参阅here)。删除,让我的点,我是通常能够看到用户是否真的登录到Facebook。
谢谢,我基本上做了变化。我想,我的问题是IsAuthenticated()返回false,即使我已登录到Facebook,并且正在通过Facebook应用程序设置链接打开Edit URL页面。基本上,我不确定在这种情况下,如何告诉页面被登录的Facebook用户打开。我已经看到一些迹象表明,Facebook __用于将signed_request传递到“编辑URL”页面,但似乎他们现在没有。 – 2011-06-03 12:43:16
在你的Facebook的JavaScript初始化你有'cookie:true'作为其中一个选项?从我的理解,这是什么让服务器访问Facebook会话。 – Charlino 2011-09-20 17:16:23