Facebook会话和access_token的当前状态如何?

时间:2010-10-24 00:22:11

标签: facebook facebook-graph-api

现在我可以记住更多,每当我们回到Facebook会话或access_token时,它应该有一生的时间,在我们取回用户ID之前,该库应该已经验证用户ID是真实的MD5等。

session和access_token目前如何工作?还有无限会话吗?他们通常会在不到2小时内到期吗?如果用户继续使用应用程序或我们的网站(连接到Facebook),那么会话或access_token可以续订 - 到期时间将进一步延长。

在我们的数据库用户表中存储会话或access_token是否有用?我认为如果没有无限会话,那么我们可能没有必要,除非我们知道我们的批处理将在一小时内完成(例如,做一些冗长的Facebook API调用)。

如果我们请求电子邮件发送权限并且用户授予该权限,那么当我们发送新闻通讯几天后,我们是否需要有会话或access_token才能发送电子邮件?

1 个答案:

答案 0 :(得分:4)

让我一次解决一个问题。

  1. 正常的facebook会话(access_token)仅在几个小时内有效。
  2. 您可以通过在用户对应用进行身份验证时请求“offline_access”扩展权限来获得无限会话。
  3. 要“续订”会话,您只需将用户发送回Facebook上的身份验证页面即可。这种情况会立即发生,因为他们已经对您的应用进行了身份验证,因此他们会将用户重定向回您的网站并继续,而不会注意到身份验证。
  4. 除非您有offline_access,否则没有任何理由存储访问令牌。如果您有离线访问权限,则可以存储它,否则您每次发出新请求时都可以从cookie或会话中读取它。
  5. 电子邮件扩展权限不是“向他们发送电子邮件的权限”,而是读取其电子邮件地址的权限。如果您被授予此权限,则可以从Graph API获取用户的电子邮件地址,然后保存此电子邮件地址。获得电子邮件地址后,您可以像任何普通的电子邮件系统一样向他们发送电子邮件。您不需要访问令牌。