1

我在将 facebook API 与我的桌面应用程序集成时遇到了一些麻烦。

现在,我正在尝试使用 Facebook SDK for .NET: http: //facebooksdk.net/

这是问题所在:

当我使用我的令牌时,Facebook 会返回以下消息:

“验证访问令牌时出错:会话已在 unix 时间 1365165488 过期。当前的 unix 时间为 1378218499。”

我在一些帖子中看到我可以做这样的事情来更新我的访问令牌:

 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 ();

但它不起作用;它引发另一个具有相同消息的异常(“会话已过期......”)

是否有捷径可寻?

我不知道这是否会影响我的应用程序,但这个访问令牌已经使用了 1 年(我正在桌面应用程序中使用)。

非常感谢!=)

4

1 回答 1

0

消息很清楚,您使用的令牌已经过期(实际上已经超过四个月了)。您需要在用户到达授权屏幕时返回登录流程。

您不能扩展已经过期的令牌,您只能扩展有效的令牌。例如,短期(两小时)令牌到长期令牌(两个月)

于 2013-09-03T15:11:34.233 回答