我试图通过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返回401(未授权),无效/过期令牌
追踪(最近一次呼叫最后一次):
文件 " /Users/bharatagarwal/my-venv/lib/python2.7/site-packages/django/core/handlers/base.py" ;, 第149行,在get_response中 response = self.process_exception_by_middleware(e,request)
文件 " /Users/bharatagarwal/my-venv/lib/python2.7/site-packages/django/core/handlers/base.py" ;, 第147行,在get_response response = wrapped_callback(请求, * callback_args,** callback_kwargs)
文件 " /Users/bharatagarwal/projects/twitterproject/mysite/twitterapp/views.py" ;, 第100行,在redirect_view中 final_step = twitter.get_authorized_tokens(str(oauth_verifier))
文件 " /Users/bharatagarwal/my-venv/lib/python2.7/site-packages/twython/api.py" ;, 第379行,在get_authorized_tokens中 ken'),error_code = response.status_code)
TwythonError:Twitter API返回401(未授权),无效/ 已过期致肯。
答案 0 :(得分:0)
在第二个Twython实例化中,您必须包含在第一步中获得的OAUTH_TOKEN和OAUTH_SECRET_TOKEN。
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
它返回无效令牌,因为您使用的实例化不包括您收到的令牌。