我什么时候需要使用存储在数据库中的访问令牌?

时间:2012-07-15 21:11:54

标签: php facebook facebook-php-sdk access-token

我什么时候需要使用存储在我的数据库中的访问令牌?

  • 此访问令牌是用户访问令牌。
  • 看起来PHP SDK在自己获取访问令牌方面做得非常好。虽然这看起来像是通过会话来处理的 - 如果会议以某种方式被擦除怎么办? - 我应该提供链接吗? - 或者我应该/可以以某种方式自动化这个吗?
  • 我是Facebook的Open Graph API新手。
  • 我正在使用Facebook PHP SDK。

我也对Facebook上的文档和实现PHP SDK感到困惑。在花了相当多的时间混合和调整两者后,我意识到文档中的几乎所有示例都是PHP SDK的一部分。因此,我的上述问题。

1 个答案:

答案 0 :(得分:3)

您无需在数据库中存储用户access_token的真正原因。您下次使用它时可能会有机会 - 它已经无效了。根据我的经验,它们只能持续一两个小时。官方说,文件说明:

  

从Facebook获取访问令牌时,它将有效   在一段时间内立即可用于对API的请求   由Facebook定义。在该时间段过去之后,访问令牌   被认为已过期且用户需要   再次进行身份验证,以便您的应用获得全新访问权限   令牌。给定访问令牌有效的持续时间取决于   它是如何产生的。

没有具体时间段(正常)令牌有效期,因此没有理由存储它。如果您希望详细记录所有使用API​​的交易,那么您可以存储该令牌作为参考 - 但这对于IMO来说太过分了......

存储令牌的唯一原因是,如果您正在处理扩展的access_tokens。如果你正在调查这个领域,我可以推荐这个帖子 - “http://facebook.stackoverflow.com/questions/8982025/how-to-extend-access-token-validity-since-offline-access-deprecation”。 似乎是处理扩展access_token有效性的最全面的帖子。如果您想要代表用户调用Graph API,当他/她不一定连接到您的应用程序时(或者根本就登录到Facebook),您就会想要这样做 - 不要知道我是否喜欢这样......