Получение данных из внешнего API в Django
У меня есть внешний API с его Content-Type
, Authorization
ключом и tenant
полями. Описание API выглядит следующим образом:
URL: https://url_address.com/
method: POST
Header:
Content-Type: application/json
Authorization: Basic asfvasvGasfssfafssDGDggGDgDSggsdfgsd=
Body: -> raw :
{
"Tenant" : "devED"
}
Я пытаюсь получить эти данные из моих django
представлений следующим образом:
headers = {'Content-Type': 'application/json', 'Authorization': 'Basic asfvasvGasfssfafssDGDggGDgDSggsdfgsd='}
Body = { "Tenant": 'devED' }
GetAPI_response = requests.post('https://url_address.com/', headers=headers, params=Body).json()
Но он выдает ошибки типа:
{'Message': 'Request data is in Bad Format.'}
Пожалуйста, подскажите, как я могу это исправить?
Начиная с версии 2.4.2, requests.post
можно передать параметр json
, который будет автоматически закодирован и установит заголовок Content-Type
в значение application/json
, то есть вам не придется устанавливать его самостоятельно
headers = {'Authorization': 'Basic xxxxxxxxxxxxxx'}
body = {'Tenant': 'devED'}
response = requests.post('https://url_address.com/', headers=headers, json=body)