我什么时候需要使用存储在我的数据库中的访问令牌?
我也对Facebook上的文档和实现PHP SDK感到困惑。在花了相当多的时间混合和调整两者后,我意识到文档中的几乎所有示例都是PHP SDK的一部分。因此,我的上述问题。
答案 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),您就会想要这样做 - 不要知道我是否喜欢这样...... )