В Postman это работает отлично.
URL-адрес аутентификации: https://api.example.com/oauth/access_token
URL-адрес токена доступа: https://api.example.com/access_token
Идентификатор клиента: abcde
Секрет клиента: 12345
Имя токена: access_token
Тип предоставления: учетные данные клиента
Все, что мне нужно, это вернуть токен доступа.
Как только я получу токен доступа, я смогу продолжить.
Я уже попробовал несколько пакетов Python и некоторый собственный код, но почему-то эта, казалось бы, простая задача начинает вызывать настоящую головную боль.
Один пример, который я пробовал:
Код: Выделить всё
import httplib
import base64
import urllib
import json
def getAuthToken():
CLIENT_ID = "abcde"
CLIENT_SECRET = "12345"
TOKEN_URL = "https://api.example.com/oauth/access_token"
conn = httplib.HTTPSConnection("api.example.com")
url = "/oauth/access_token"
params = {
"grant_type": "client_credentials"
}
client = CLIENT_ID
client_secret = CLIENT_SECRET
authString = base64.encodestring('%s:%s' % (client, client_secret)).replace('\n', '')
requestUrl = url + "?" + urllib.urlencode(params)
headersMap = {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic " + authString
}
conn.request("POST", requestUrl, headers=headersMap)
response = conn.getresponse()
if response.status == 200:
data = response.read()
result = json.loads(data)
return result["access_token"]
< /code>
Тогда я получил это: < /p>
import requests
import requests.auth
CLIENT_ID = "abcde"
CLIENT_SECRET = "12345"
TOKEN_URL = "https://api.example.com/oauth/access_token"
REDIRECT_URI = "https://www.getpostman.com/oauth2/callback"
def get_token(code):
client_auth = requests.auth.HTTPBasicAuth(CLIENT_ID, CLIENT_SECRET)
post_data = {"grant_type": "client_credentials",
"code": code,
"redirect_uri": REDIRECT_URI}
response = requests.post(TOKEN_URL,
auth=client_auth,
data=post_data)
token_json = response.json()
return token_json["access_token"]
Я очень надеюсь кто-нибудь может мне помочь здесь.
Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/367 ... ing-python
Мобильная версия