У меня возникли проблемы с преобразованием curl-кода в python, чтобы получить доступ к токену API.Преобразование curl в python для доступа к api
Данный код:
curl -k -d "grant_type=client_credentials&scope=PRODUCTION" -H "Authorization :Basic <long base64 value>, Content-Type: application/x-www-form-urlencoded" https://api-km.it.umich.edu/token
Я знаю, что -H указывает заголовок, однако Im не уверен, что делать с опцией -d. До сих пор у меня есть:
authorizationcode = 'username:password'
authorizationcode = base64.standard_b64encode(authorizationcode)
header = {'Authorization ': 'Basic ' + authorizationcode, 'Content-Type': 'application/x-www-form-' + authorizationcode}
r = requests.post('https://api-km.it.umich.edu/token',
data = 'grant_type=client_credentials&scope=PRODUCTION',
headers = header)
Кроме того, эти инструкции:
Получите ваш потребительский ключ и секретный код из Справочника API. Они создаются на странице «Подписки» после того, как приложение успешно подписало API. Объедините ключи потребителя и ключи секретности потребителя в формате: ключ потребителя: секрет потребителя. Кодируйте объединенную строку, используя base64. Большинство языков программирования имеют метод base64 кодировать строку. Пример кода для base64. Посетите сайт base64encode для получения дополнительной информации. Выполните POST-вызов API-интерфейсов для доступа к токену доступа.
Наши данные верно, однако мы получаем ошибку 415 с сервера.
Помощь будет с благодарностью.
«-d» - это «данные», которые должны быть отправлены в теле запроса, и вы, кажется, применили это правильно в своем методе метода сообщения. В чем проблема? – ThatsAMorais
мы получаем ошибку 415 с сервера –
, вы добавили свой 'authorizationcode' в конец заголовка Content-Type. Он должен просто быть «application/x-www-form-urlencoded» так же, как запрос curl. – krock