令牌无效或过期.通过Tweepy申请新令牌?

Use*_*ser 5 python twitter tweepy

tweepy.error.TweepError: [{u'message': u'Invalid or expired token.', u'code': 89}]
Run Code Online (Sandbox Code Playgroud)

令牌必须硬编码吗?我现在有OAuth和访问令牌硬编码,但令牌似乎每24小时到期一次.如何以编程方式更新令牌?我可以通过Tweepy获得新令牌吗?

我的脚本的目标是在未经我许可的情况下每天过夜.我把它设置为cronjob.我不想做任何手动输入.

我只是在一个帐户上使用API​​,我的帐户.所以我有用户名/密码等.

通常情况下,我通过点击"创建我的访问令牌"获取令牌,然后当我几天后回来查看时,令牌消失了,创建它的按钮又重新出现.

在此输入图像描述

再生并再使用一天后,再次发生了!截图:http://i.imgur.com/hhDqLnU.png

gll*_*lls 2

不确定您的应用程序的目标是什么,但回答您的一些问题:

\n\n
\n

令牌必须进行硬编码吗?

\n
\n\n

不,根据您正在编码的应用程序的性质,您可以在通过 Web 表单或 GUI 中的文本字段执行程序时请求此数据,或将其包含在另一个文件中并对其进行加密或导入其所在的文件并使用它。 。

\n\n
\n

我现在对 OAuth 和访问令牌进行了硬编码,但令牌\n 似乎每 24 小时就会过期。我可以做什么来以编程方式更新令牌\n?

\n
\n\n

您无法获取 API 密钥和消费者密钥,这必须手动完成。此信息应该是永久性的,基于https://dev.twitter.com/oauth/overview

\n\n

访问令牌是另一回事,您显然可以使用 API 来请求:\n https://dev.twitter.com/oauth/reference/post/oauth/access_token

\n\n
\n

POST oauth/request_token 允许消费者应用程序获取\n OAuth 请求令牌以请求用户授权。此方法满足 OAuth 1.0 身份验证流程的第 6.1 节。强烈建议您对所有 OAuth 授权步骤使用 HTTPS。\n 使用说明:oauth_nonce 仅接受 ASCII 值

\n
\n\n

资源 URL\n https://api.twitter.com/oauth/request_token

\n\n

关于访问令牌过期:

\n\n
\n

访问令牌的有效期是多长时间?我们目前不会使访问令牌过期。\n 如果用户从其设置中明确拒绝您的应用程序,或者 Twitter 管理员暂停您的应用程序,您的访问令牌将无效。如果您的申请被暂停,您的申请页面上将会出现\n 注释,表明您的申请已被暂停。根据推特\n:

\n\n

如果我拥有的访问令牌无效,我该怎么办?您应该计划\n 用户\xe2\x80\x99s 访问令牌可能随时变得无效,并且在这种情况下您\n 将需要为该用户重新授权。\n 确保您妥善处理这种情况对于优质的用户体验至关重要。\n

\n
\n\n

根据 Twitter 文档https://dev.twitter.com/oauth/application-only

\n\n

API 请求包含无效的不记名令牌\n使用不正确或已撤销的不记名令牌发出 API 请求将导致:

\n\n

HTTP/1.1 401 未经授权\n内容类型:application/json;字符集=utf-8\n内容长度: 61\n...

\n\n

{“错误”:[{“消息”:“令牌无效或过期”,“代码”:89}]}

\n\n

也许这需要在推特方面解决?我建议直接联系他们https://dev.twitter.com/solutions/customer-service

\n