2016-01-22 5 views
0

Я пытаюсь использовать OAuth2 для получения токена авторизации с использованием Python в REST API. Я успешно делаю это с использованием CURL, но не с python. Я использую примеры, представленные в следующих документах: https://requests-oauthlib.readthedocs.org/en/latest/oauth2_workflow.htmlПроблемы с python oauth2 при попытке получить токен авторизации

Ниже мой код:

#!/usr/bin/python 

import requests 
import requests_oauthlib 
from requests_oauthlib import OAuth2Session 
from oauthlib.oauth2 import BackendApplicationClient 

client_id = 'AAAAAA' 
client_secret = 'BBBBBB' 

client = BackendApplicationClient(client_id=client_id) 
oauth = OAuth2Session(client=client) 
token = oauth.fetch_token(token_url='https://example.com/as/token.oauth2', client_id=client_id, client_secret=client_secret) 

print token 

Я получаю следующее сообщение об ошибке:

oauthlib.oauth2.rfc6749.errors.InvalidClientError: (invalid_client) client_id value doesn't match HTTP Basic username value 

Это очень простой API для доступа к токену авторизации требуется только client_id и client_credentials.

Вся информация была бы принята с благодарностью.

ответ

0

документация определяет следующие элементы:

client_id = r'your_client_id' 
client_secret = r'your_client_secret' 
redirect_uri = 'https://your.callback/uri' 

По ключу клиента вы, возможно, значит, ключ клиента?

token = oauth.fetch_token(token_url='https://example.com/as/token.oauth2', client_id=client_id, client_secret=client_secret) 

Попробуйте изменить его на вышеуказанное и дать ему вращение. используя r '' вместо исходного ввода и указанный токен.

+0

Спасибо! К сожалению, теперь я получаю oauthlib.oauth2.rfc6749.errors.InvalidClientError: (invalid_client) Клиент НЕ ДОЛЖЕН использовать несколько методов аутентификации в каждом запросе. – user1658415

+0

Вы пытаетесь подключиться к Microsoft Active Directory? Если бы не конкретная услуга была бы полезна, чтобы я мог сузить то, что происходит. – earnshae

+0

Моя ошибка: вы идете против OAUTH2 нет 1 Я обновил ответ, чтобы отразить это – earnshae

Смежные вопросы