Facebook graph api 在短时间内使服务器端访问令牌过期

Facebook graph api 在短时间内使服务器端访问令牌过期,facebook-graph-api,Facebook Graph Api,最近我们遇到了服务器端访问令牌的一些奇怪行为。它将在很短的时间内(约15分钟)过期。场景如下:用户通过facebook(服务器端)登录到我们的页面,我们存储访问令牌。页面上的某些操作可能会触发post/feed。在几次反馈后,我们突然开始出现错误400和错误401 错误400可能是由于帖子数量的限制,但在错误401之后,访问令牌过期 每项行动都以以下方式回应: { "error": { "message": "Error validating access token: S

最近我们遇到了服务器端访问令牌的一些奇怪行为。它将在很短的时间内(约15分钟)过期。场景如下:用户通过facebook(服务器端)登录到我们的页面,我们存储访问令牌。页面上的某些操作可能会触发post/feed。在几次反馈后,我们突然开始出现错误400和错误401

错误400可能是由于帖子数量的限制,但在错误401之后,访问令牌过期

每项行动都以以下方式回应:

 {
   "error": {
       "message": "Error validating access token: Session has expired at unix 
                   time 1346321603. The current unix time is 1346320983.", 
       "type": "OAuthException", 
       "code": 190
       "error_subcode": 463
   } 
很难重现这种行为,但我们在测试环境中重复了几次(所以我们知道当创建访问令牌时,用户并没有取消应用程序的授权,也并没有更改密码)


你知道为什么访问令牌会过期吗?

默认情况下,facebook会分配一个短期访问令牌。您需要申请长寿命令牌

请阅读文档了解如何获取:

编辑:

上一个链接不再有效,请使用下一个链接

我再次检查应用程序高级设置上是否启用了“删除脱机访问权限”,以便获得60天服务器端令牌

不确定原因,但所有访问令牌已在访问令牌调试器报告的“大约小时”内过期

我创建了一个新的应用程序(还有“删除脱机访问权限”),现在我得到了2个月后到期的令牌


不知道为什么,但答案是创建新的应用程序。

用户可能刚刚从Facebook注销了吗?短期访问令牌将在发生这种情况时过期。不,正如我在帖子中所说,我们使用服务器端令牌(60天后过期),其他令牌在更长的时间内工作正常,因为我很遗憾我们使用了60天后过期的服务器端令牌。