Twython获取访问令牌报错401

Obtaining access token error 401 in Twython

我正在尝试通过 Twython 验证用户的 Twitter 帐户

def twitter_view(request):
twitter = Twython(APP_KEY, APP_SECRET)
auth = twitter.get_authentication_tokens(callback_url='http://127.0.0.1:8000/confirm/', force_login=True)

request.session['oauth_token'] = auth['oauth_token']
request.session['oauth_token_secret'] = auth['oauth_token_secret']
return HttpResponseRedirect(auth['auth_url'])


def redirect_view(request):
oauth_verifier = request.GET['oauth_verifier']
twitter = Twython(APP_KEY, APP_SECRET)
final_step = twitter.get_authorized_tokens(oauth_verifier)
request.user.twitter_oauth_token = final_step['oauth_token']
request.user.twitter_oauth_token_secret = final_step['oauth_token_secret']
request.user.save()

return redirect('twitterapp:homepage')

我得到

Twitter API returned a 401 (Unauthorized), Invalid / expired Token

回溯(最近调用最后):

File "/Users/bharatagarwal/my-venv/lib/python2.7/site-packages/django/core/handlers/base.py", line 149, in get_response response = self.process_exception_by_middleware(e, request)

File "/Users/bharatagarwal/my-venv/lib/python2.7/site-packages/django/core/handlers/base.py", line 147, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/Users/bharatagarwal/projects/twitterproject/mysite/twitterapp/views.py", line 100, in redirect_view
final_step = twitter.get_authorized_tokens(str(oauth_verifier))

File "/Users/bharatagarwal/my-venv/lib/python2.7/site-packages/twython/api.py", line 379, in get_authorized_tokens ken'), error_code=response.status_code)

TwythonError: Twitter API returned a 401 (Unauthorized), Invalid / expired To ken

在第二个 Twython 实例化中,您必须包含在第一步中获得的 OAUTH_TOKEN 和 OAUTH_SECRET_TOKEN。

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

它返回无效令牌,因为您使用的实例化不包括您收到的令牌。