Куда мне добавить свой токен авторизации при выполнении запроса к API данных YouTube v3?

#python #python-requests #youtube-api #youtube-data-api

#python #python-запросы #youtube-api #youtube-data-api

Вопрос:

В настоящее время я использую модуль запросов Python для добавления видео в созданный мной плейлист. В документах для playlistItems.insert указано, что требуется авторизация в одной из трех возможных областей. Я создал токен учетных данных OAUTH2.0 на панели учетных данных моего проекта и правильно установил область действия. В настоящее время я пытаюсь передать учетные данные следующим образом:

 payload = {
    'access_token': [My Client ID],
    'part': 'snippet'}
new_vid = requests.post(f'{base_url}playlistItems', params=payload)
  

При выполнении кода я получаю следующее сообщение об ошибке:

 "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project."
  

Я передаю токен авторизации в правильном месте или я должен передавать его где-то еще в POST запросе?

Ответ №1:

Вы можете передать токен авторизации в качестве параметра заголовка. Проверьте пример ниже:

 import requests

headers = {
    'Authorization': 'Bearer [YOUR_ACCESS_TOKEN]',
    'Accept': 'application/json',
    'Content-Type': 'application/json',
}

params = (
    ('key', '[YOUR_API_KEY]'),
    ('part','snippet')
)

response = requests.post('https://youtube.googleapis.com/youtube/v3/playlistItems', headers=headers, params=params)
  

Комментарии:

1. Я добавил аргумент headers, используя идентификатор клиента из консоли разработчиков Google вместо YOUR_ACCESS_TOKEN . Я все еще получаю ответ 401, ожидающий токен авторизации. Это неправильный токен для использования в качестве токена доступа? У меня установлен тип идентификатора клиента как desktop, поскольку он запускается из командной строки.

2. Для выполнения вашей задачи вам нужны ключ API и токен OAuth. Пожалуйста, проверьте эту ссылку, чтобы получить представление о том, как сгенерировать учетные данные: developers.google.com/youtube/registering_an_application