续订Facebook访问令牌

时间:2013-10-18 15:35:18

标签: c# facebook-c#-sdk

我正在阅读很多文章,教导如何扩展facebook访问令牌,但我找不到任何续订访问令牌。

我正在使用Facebook C#SDK,我正在尝试这样做:

FacebookClient fbClient = new FacebookClient ();

Dictionary<string, object> fbParams = new Dictionary<string, object> ();

fbParams["client_id"]         = token.appId;
fbParams["grant_type"]        = "fb_exchange_token";
fbParams["client_secret"]     = token.appSecret;
fbParams["fb_exchange_token"] = token.accessToken;

JsonObject publishedResponse = fbClient.Get ("/oauth/access_token", fbParams) as JsonObject;
return publishedResponse["access_token"].ToString ();

但似乎只是为了扩展一个令牌,当我使用过期时它会返回以下消息:

验证访问令牌时出错:会话已在unix时间1365165211过期。当前的unix时间为1382106470。

有谁知道我该如何处理?我该如何续订会话?我在VS2012中将这个项目作为控制台应用程序。

提前致谢!!

编辑:

我找到了这段代码:

fbParams["client_id"]         = token.appId;
fbParams["grant_type"]        = "client_credentials";
fbParams["client_secret"]     = token.appSecret;
fbParams["fb_exchange_token"] = token.accessToken;

它返回一个访问令牌,但是当我使用它时:

“未指定用户访问令牌”

但是指定了Oo

1 个答案:

答案 0 :(得分:0)

当您请求fb_exchange_token

时,您无法使用任何已过期的access_token续订令牌所需的有效访问令牌