В этом кратком руководстве рассказывается, как настроить простое приложение командной строки на Python, которое отправляет запросы к YouTube Data API. В этом кратком руководстве объясняется, как выполнить два запроса к API:
- Вы будете использовать ключ API, который идентифицирует ваше приложение, чтобы получить информацию о канале GoogleDevelopers на YouTube.
- Вы будете использовать идентификатор клиента OAuth 2.0, чтобы отправлять авторизованные запросы на получение информации о вашем канале YouTube.
Требования
Чтобы выполнить это краткое руководство, вам понадобится:
Python 2.7 или Python 3.5 и более поздние версии
Инструмент управления пакетами
pipКлиентская библиотека API Google для Python:
pip install --upgrade google-api-python-clientБиблиотеки
google-auth-oauthlibиgoogle-auth-httplib2для авторизации пользователей.pip install --upgrade google-auth-oauthlib google-auth-httplib2
Шаг 1. Настройте проект и учетные данные
Создайте или выберите проект в Cloud Console. Выполните следующие действия в Cloud Console для своего проекта:
На панели библиотеки найдите YouTube Data API v3. Нажмите на API и убедитесь, что он включен для вашего проекта.
На панели учетных данных создайте две учетные записи:
Создайте ключ API, который будет использоваться для отправки запросов к API, не требующих авторизации пользователя. Например, для получения информации об общедоступном канале YouTube не требуется авторизация пользователя.
Создайте идентификатор клиента OAuth 2.0. В качестве типа приложения выберите Компьютерное приложение. Учетные данные OAuth 2.0 необходимы для запросов, требующих авторизации пользователя. Например, чтобы получить информацию о канале YouTube, принадлежащем пользователю, который прошел аутентификацию, необходимо разрешение этого пользователя.
Скачайте JSON-файл с учетными данными OAuth 2.0. Файл имеет название, похожее на
client_secret_CLIENTID.json, гдеCLIENTID– идентификатор клиента для вашего проекта.
Шаг 2. Настройте и запустите пример
Используйте виджет API Explorer на боковой панели, чтобы получить образец кода для извлечения информации о канале GoogleDevelopers на YouTube. В этом запросе для идентификации приложения используется ключ API, и он не требует авторизации пользователя или каких-либо специальных разрешений от пользователя, запускающего пример.
- Откройте документацию по методу channels.list.
В разделе "Распространенные варианты использования" на этой странице есть таблица, в которой объясняется несколько распространенных способов использования метода. Первый вариант в таблице – это результаты, отсортированные по идентификатору канала.
Нажмите на значок кода для первого адреса, чтобы открыть и заполнить полноэкранный API Explorer.

В левой части окна API Explorer в полноэкранном режиме показано следующее:
Под заголовком Параметры запроса приведен список параметров, которые поддерживает метод. Необходимо задать значения параметров
partиid. Значение параметраid–UC_x5XG1OV2P6uZZ5FSM9Ttw– это идентификатор канала GoogleDevelopers на YouTube.Под параметрами находится раздел Учетные данные. В раскрывающемся меню в этом разделе должно быть выбрано значение Ключ API. По умолчанию в API Explorer используются демонстрационные учетные данные. Но для локального запуска примера вы будете использовать собственный ключ API.

В правой части полноэкранного режима API Explorer находятся вкладки с примерами кода на разных языках. Выберите вкладку Python.
Скопируйте пример кода и сохраните его в файле с названием
example.py.В скачанном примере найдите строку
YOUR_API_KEYи замените ее ключом API, созданным на шаге 1 этого руководства.Запустите пример из командной строки. В рабочем каталоге выполните следующую команду:
python example.pyПример должен выполнить запрос и вывести ответ в
STDOUT.
Шаг 3. Выполните авторизованный запрос
На этом шаге вы измените пример кода, чтобы он получал информацию не о канале GoogleDevelopers, а о вашем канале YouTube. Для этого запроса требуется авторизация пользователя.
Вернитесь к документации по методу channels.list.
В разделе "Распространенные варианты использования" нажмите на значок кода для третьего элемента в таблице. В этом случае нужно вызвать метод
listдля канала "mychannel".В левой части полноэкранного API Explorer вы увидите список параметров, за которым следует раздел Credentials (Учетные данные). Однако в этом примере есть два отличия от того, в котором вы получали информацию о канале GoogleDevelopers:
В разделе параметров вместо значения параметра
idдолжно быть задано значение параметраmine, равноеtrue. Это указывает серверу API на то, что нужно получить информацию о канале текущего авторизованного пользователя.В разделе Credentials (Учетные данные) в раскрывающемся меню выберите Google OAuth 2.0.
Кроме того, если вы нажмете на ссылку Показать области действия, должна быть выбрана область действия https://www.googleapis.com/auth/youtube.readonly.

Как и в предыдущем примере, выберите вкладку Python, скопируйте пример кода и сохраните его в файле
example.py.В коде найдите строку
YOUR_CLIENT_SECRET_FILE.jsonи замените ее на путь к файлу с секретным кодом клиента, скачанному на шаге 1 этого краткого руководства.Запустите пример из командной строки. В рабочем каталоге выполните следующую команду:
python example.py-
Скопируйте URL из консоли и откройте его в браузере.
Если вы ещё не вошли в аккаунт Google, вам будет предложено это сделать. Если вы вошли в несколько аккаунтов Google, вам будет предложено выбрать один из них для авторизации.
Нажмите кнопку, чтобы предоставить приложению доступ к областям действия, указанным в примере кода.
-
Скопируйте код авторизации из браузера и вставьте его в терминал. После этого можно закрыть вкладку браузера, использованную для авторизации.
Ответ API снова должен быть выведен в
STDOUT.