Я пытаюсь забрать данные о магазине по API KazanExpress вот таким путём:
headers = {
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36',
'Authorization': 'Basic НЕСКАЖУ'
}
login = requests.post('https://api.kazanexpress.ru/api/oauth/token?grant_type=password&username=НЕСКАЖУ&password=НЕСКАЖУ, headers=headers)
print(login.json())
headers.update({
'Authorization': 'Bearer ' + login.json()['access_token']
})
shops = requests.get('https://api.kazanexpress.ru/api/seller/shop/', headers=headers)
print(shops.json())
Итог такой: переменная login отлично отрабатывает и получает нужные данные. А переменная shops выдаёт ошибку:
{'timestamp': 1621067445165, 'status': 418, 'error': "I'm a teapot", 'message': "I'm a teapot", 'path': '/api/seller/shop/'}
При этом каким-то магическим образом этот код иногда срабатывает, а иногда нет...
Как мне исправить эту ошибку?
Дополнение:
user-agent указываю, чтобы данные получить, без этого header возвращает пустой массив.
API может быть и закрытое, но есть приложения и боты в телеграме, которые отлично работают с API KazanExpress.
UPD:
Я заметил через инструмент Network в Google Chrome, что сначала производится запрос через OPTIONS, а потом через GET