Как передавать в HTTP-заголовке данные авторизации для Яндекс API?

Раньше подключался к API Яндекса query-параметре запроса. С недавнего времени этот способ они отключили в целях безопасности. Теперь необходимо

Инструкция Яндекса

В запросах к партнерскому API необходимо указывать: OAuth-токен в параметре oauth_token; идентификатор приложения в параметре oauth_client_id. Авторизационные данные передаются в HTTP-заголовке Authorization:

Authorization: OAuth oauth_token="авторизационный_токен", oauth_client_id="идентификатор_приложения"

Пробую так:

import requests

HEADERS = {                                                                                                                               
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language': 'en-en,ru;q=0.8,en-us;q=0.5,en;q=0.3',

    'Connection': 'keep-close',

    'Authorization': 'OAuth',
    'oauth_token': 'xxxxxxxxxxxxxxxxxxxxx', 
    'oauth_client_id': 'yyyyyyyyyyyyyyyyyyyy'}      

print (requests.get('https://api.partner.market.yandex.ru/v2/models/605238026/offers.json',headers=HEADERS))

получаю <Response [401]>

подскажите пожалуйста как правильно составить запрос?


Ответы (1 шт):

Автор решения: Shamus Rezol
HEADERS = {                                                                                                                               
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language': 'en-en,ru;q=0.8,en-us;q=0.5,en;q=0.3',

    'Connection': 'keep-close',

    'Authorization': 'OAuth oauth_token="авторизационный_токен", oauth_client_id="идентификатор_приложения"'}

Authorization - это заголовок. OAuth (тип авторизации) и все остальное - его значение. HTTP | MDN.

→ Ссылка