1

我尝试编写一个简单的程序来使用 Twython(版本 3)更新我的 Twitter 状态。我可以搜索公共时间线,但当我尝试更新状态时,它会返回“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!')

有谁知道这里有什么问题?

4

1 回答 1

2

您需要对用户进行身份验证

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

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

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

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

将用户重定向到 auth urlauth['auth_url']

在回调中,您可以检索 oauth 会话oauth_verifier从 url 参数中检索

将新令牌存储在 sessionm 或任何地方

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 令牌来调用 twitter(而不是旧的)

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

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

于 2013-08-27T07:43:31.050 回答