3

我正在阅读很多关于如何扩展 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

4

1 回答 1

0

您无法使用任何过期的 access_token 更新令牌,您在请求时需要有效的访问令牌fb_exchange_token

于 2014-03-31T08:26:10.630 回答