Ошибка получения токена доступа 401 в Twython

Я пытаюсь проверить учетную запись пользователя Twitter через Twython

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 (request, * 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: API Twitter вернул 401 (неавторизованный), недействительный / срок действия истек Кен


person bharat agarwal    schedule 20.07.2016    source источник
comment
Возможный дубликат аутентификации с помощью twython   -  person Andreas Gnyp    schedule 21.07.2016
comment
Я пробовал уже видеть этот пост, но все еще сталкиваюсь с проблемой.   -  person bharat agarwal    schedule 21.07.2016


Ответы (1)


Во втором экземпляре Twython вы должны включить OAUTH_TOKEN и OAUTH_SECRET_TOKEN, полученные на первом шаге.

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

Он возвращает Invalid Token, потому что используемый вами экземпляр не включает токены, которые вы получили.

person Ryan Schmidt    schedule 12.08.2016