何时需要使用存储在数据库中的访问令牌


When do I need to use the access token stored in the database?

何时需要使用存储在数据库中的访问令牌?

  • 此访问令牌是用户访问令牌
  • PHP SDK似乎在自己获取访问令牌方面做得很好。尽管这看起来像是通过会话处理的
    --如果会话以某种方式被擦除怎么办
    --我应该提供链接吗
    --或者我应该/可以以某种方式实现自动化吗
  • 我是Facebook开放图形API的新手
  • 我使用的是Facebook PHP SDK

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

没有真正的理由需要在数据库中存储用户access_token。下次你使用它的时候,它可能已经失效了。根据我的经验,它们只持续一两个小时。官方文件称:

当您从Facebook获得访问令牌时,它将有效在对API的请求中立即可用一段时间由Facebook定义。经过该时间段后,访问令牌被视为已过期,用户需要再次进行身份验证,以便您的应用程序获得新的访问权限代币给定访问令牌的有效期取决于它是如何生成的。

没有一个(正常)令牌有效期的具体时间段,因此没有理由存储它。如果你想拥有API所有事务的详尽日志,可以存储令牌作为参考-但这是杀鸡用牛刀

存储令牌的唯一原因是,如果您正在处理扩展的access_token。如果你正在研究这个领域,我可以推荐这篇文章-"http://facebook.stackoverflow.com/questions/8982025/how-to-extend-access-token-validity-since-offline-access-deprecation".它似乎是处理扩展access_token有效性的最全面的帖子。如果你想代表用户调用Graph API,而用户不一定连接到你的应用程序(或根本登录Facebook-不知道我是否喜欢…