Я работал с защищенной аутентификацией API-интерфейса netflix и библиотеки oauth2 python. Однако у меня нет проблем с подписанными запросами, чтобы позволить пользователям входить в систему, используя свои учетные записи netflix, я сталкиваюсь с несколькими проблемами, когда пытаюсь получить access_token, я знаю случаи, когда OAuth не возвращает verifier
, даже если так и должно быть, однако после перенаправления со страницы авторизации netflix я получаю что-то вроде этого: http://127.0.0.1:5000/authorized_user?oauth_token=some_token&oauth_verifier=
с пустым верификатором.
Я новичок в библиотеке и совсем не понял, что делать, когда verfier
нет. Так как я успешно перенаправляю пользователя на страницу входа/авторизации netflix. Я предполагаю, что моя ошибка связана с этим шагом, который я не совсем понимаю. Ниже приведена упрощенная (оболочка) версия того, что я пытаюсь сделать. Я был бы признателен за толчок в правильном направлении, я прочитал документацию netflix и прочитал документацию библиотеки, но не мог понять, что делать.
# Get request token (temporary)
resp, content = client.request(REQUEST_TOKEN_URL, "GET")
if resp['status'] != '200':
raise Exception("Invalid response %s." % resp['status'])
request_token = dict(parse_qsl(content))
print 'Request token'
print ' --> oauth_token = %s' % request_token['oauth_token']
print ' --> oauth_token_secret = %s' % request_token['oauth_token_secret']
print ' --> login_url = %s' % request_token['login_url']
# Redirect to netflix for user authorization
print 'Go to the following link: '
login_url = request_token['login_url']
access_token_url = '%s&oauth_consumer_key=%s' % (login_url, CONSUMER_KEY)
accepted = 'n'
while accepted.lower() == 'n':
accepted = raw_input('Have you authorized me? (y/n) ')
resp, content = client.request(access_token_url, "POST")
token = oauth.Token(request_token['oauth_token'],
request_token['oauth_token_secret'])
client = oauth.Client(consumer, token)
resp, content = client.request(access_token_url, "POST")
access_token = dict(parse_qsl(content))
print "Access Token:"
print " - oauth_token = %s" % access_token['oauth_token']
print " - oauth_token_secret = %s" % access_token['oauth_token_secret']