python - 我无法让 Twython 更新我的 Twitter 状态

标签 python twython

我尝试编写一个简单的程序来使用 Twython(版本 3)更新我的 Twitter 状态。我可以搜索公共(public)时间线,但当我尝试更新状态时,它返回“Twitter API 返回 401(未经授权)”。

from twython import Twython

APP_KEY = 'xxx'
APP_SECRET = 'xxx'

OAUTH_TOKEN = 'xxx'
OAUTH_TOKEN_SECRET = 'xxx'

twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

twitter.update_status(status='See how easy using Twython is!')

有人知道这里出了什么问题吗?

最佳答案

您需要验证用户身份

twitter = Twython(APP_KEY, APP_SECRET)
auth = twitter.get_authentication_tokens(callback_url='http://mysite.com/callback')

存储来自 auth 变量的 oauth token ,并将它们存储在用户返回时可以检索它们的地方;

OAUTH_TOKEN = auth['oauth_token']
OAUTH_TOKEN_SECRET = auth['oauth_token_secret']

如何存储它取决于您的框架

将用户重定向到身份验证网址auth['auth_url']

并且在回调中,您可以检索 oauth session 从 url 参数中检索 oauth_verifier

将新 token 存储在 session 中或任何地方

twitter = Twython(APP_KEY, APP_SECRET,
                  OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

twitter_authroized=twitter.get_authorized_tokens(oauth_verifier)

OAUTH_TOKEN = twitter_authroized['oauth_token']
OAUTH_TOKEN_SECERT = twitter_authroized['oauth_token_secret']

从现在开始使用这些新的 OAUTH token 来调用 twitter(而不是旧的)

阅读https://twython.readthedocs.org/en/latest/usage/starting_out.html#authentication获取此信息

https://github.com/ryanmcgrath/twython-django ‎ 是 twitter 的 django 项目。使用它作为指导

关于python - 我无法让 Twython 更新我的 Twitter 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18459514/

相关文章:

python - 使用python将google docs公共(public)电子表格下载到csv

python - 使用 Twython 的随机图片

python - 如何修复 "AttributeError: ' dict' 对象在 Twython 中没有属性 'append'

python - 如何在 Python 中将 CIDR 前缀转换为点分四组网络掩码?

python - 无论如何反阶乘函数?

python - 我正在尝试使用 Twython 从 Python 上的 Twitter 查询中提取推文

python - 读取超时错误: Twitter Streaming API

python - 我怎样才能运行与 tkinter 一起不断循环的东西?

python - 请帮我将以下 lambda 翻译成人类语言

python - 有没有一种简单的方法可以查找包文件中记录的帧总数?