将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岁(我在桌面应用程序中使用)。
非常感谢! =)
答案 0 :(得分:0)
消息很明确,您使用的是已经过期的令牌(实际上已超过四个月)。您需要在用户到达授权屏幕时返回登录流程。
您无法扩展已过期的令牌,您只能扩展有效的令牌。例如短期(两小时)令牌到一个长寿令牌(两个月)