Twitter 应用程序显示代码:89 无效或过期的令牌

Twitter App showing code: 89 Invalid or expired token

我有一个使用 Twitter API 的应用程序,用户可以通过 Twitter 和 retweet/like/follow 通过我的应用程序进行身份验证。本周日志随机显示 "code: 89 Invalid or expired token".

自然而然地,我登录推特查看我的应用程序的状态,似乎没有任何异常。我看到其他有这个问题的人成功地重新生成了他们的密钥并在他们的应用程序中替换了它们。

这没有帮助。

需要注意的一件重要事情是,在过去的 3-4 个月里,我的应用程序代码没有任何变化,所以我怀疑其中有什么变化。它已经工作了两年多没有任何问题。

我最怀疑的事情可能是 Twitter 决定暂停我的应用程序;虽然,我没有看到任何地方是这种情况,但我想如果是这样的话我会收到他们发来的一封电子邮件。

我不知所措,希望能找到一些可能的解决方案或替代途径来找到罪魁祸首。

与您的应用关联的密钥是 API 密钥(消费者令牌)和 API 密钥(消费者秘密)。您收到的错误是针对属于用户的访问令牌。听起来与该请求关联的用户需要再次授权您的应用程序,然后才能使用他们的访问密钥再次运行。如果用户通过访问他们的 Settings/Privacy 和 safety/Apps 和会话来删除对您的应用程序的授权,就会发生这种情况。

如果您在单用户授权等场景中使用自己的访问令牌,那么重新生成密钥可能会起作用,但在这种情况下,为该用户获取新密钥的唯一方法是让他们通过登录过程再次授权您的应用程序。例如您可以记录发生错误的用户是谁,并向他们发送重新授权的通知。