对于少数用户(考虑到我收到的相关邮件的数量可能不是很少),与OAUTH授权相关联的访问令牌似乎立即失效。引导用户完成通常的授权过程,他接受权限,将其重定向到包含访问令牌的右侧页面,但是一旦我的应用程序尝试使用访问令牌获取用户ID,就会收到错误代替:
{"error":{"message":"Error validating access token: Session has expired at unix time 0. The current unix time is 1323939801.","type":"OAuthException"}}
offline_access是权限的一部分。此外,原因是用户无法删除授权或更改密码,因为这是在接受授权后立即发生的。在我的应用程序流程中,我已经尝试重试了几次,从我收到的日志中我可以看到错误总是一样的:引导用户再次通过授权过程没有用,因为用户被重定向到页面片段中的access_token。显然,用户解决此问题的唯一方法是从授权应用程序列表中删除应用程序并重新执行相同的操作(除非在第n次重试时它开始工作,并非所有用户在事情开始工作时回写)。
这可能是什么原因?
答案 0 :(得分:0)
我似乎遇到了同样的问题,请在此处查看我的问题:The session has been invalidated because the user has changed the password - >编辑:我不认为这是相同的事情,我发现了根本原因,请参阅该问题的答案。
此处有另一个相关问题:How can I remove all potentially cached tokens or session IDs on Android?
还有任何线索......?
答案 1 :(得分:0)
离线访问已被弃用,我不再要求了。相反,在iOS SDK中,至少有一种更新方法。