处理facebook过期令牌
本文关键字:令牌 过期 facebook 处理 | 更新日期: 2023-09-27 18:29:58
我在将facebook API与桌面应用程序集成时遇到了一些问题。
现在,我正在尝试使用适用于.NET的Facebook SDK: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年的历史了(我正在桌面应用程序中使用)。
非常感谢
消息很清楚,您使用的令牌已经过期(实际上已经超过四个月了)。您需要返回登录流程,用户到达授权屏幕。
您不能扩展已过期的令牌,只能扩展有效的令牌。例如,从短期(两小时)代币到长期代币(两个月)