2

我加载应用程序一次,接收 signed_request 并从中检索用户令牌,然后 iframe 中的所有转换都使用内部链接(无签名请求)完成。

我有几个需要处理的用例。用户访问令牌刚刚过期:

  1. 用户单击下一个链接(不是 ajax)并发送获取请求
  2. 用户填写表格并发送发布请求
  3. 用户向需要访问facebook的服务器发送ajax请求

Nr 1 是最明显的情况,我可以简单地将用户重定向到 /authorize,因为没有交易。Nr3 可以通过解析来自服务器的特殊错误并重定向到 /authorize 的相同方式来解决。

Nr2,是最不愉快的情况,因为我使用的是非事务性 mongodb。所以我看到的唯一解决方案是 - 在做任何事情之前,我需要检查 /me 的访问令牌,如果它无效,将整个请求正文保存在会话中,重定向到 /authorize 然后再次处理请求。但是,如果它有效,则不能保证我的交易成功,但我对此很好。

所以我认为真正的问题是......你如何处理这些情况?你如何刷新令牌?你如何处理它们?也许我错过了一些明显的东西?

任何想法将不胜感激。谢谢!

4

1 回答 1

1

在 PHP sdk 中,您可以调用:

$access_token = $facebook->getAccessToken();

在 javascript sdk 中,您可以使用:

FB.getLoginStatus

随时获取新的访问令牌。使用图形资源管理器检查令牌。请注意获取令牌的权限。

于 2012-06-26T05:20:37.713 回答