Краткое руководство по Python

В этом кратком руководстве рассказывается, как настроить простое приложение командной строки на Python, которое отправляет запросы к YouTube Data API. В этом кратком руководстве объясняется, как выполнить два запроса к API:

  1. Вы будете использовать ключ API, который идентифицирует ваше приложение, чтобы получить информацию о канале GoogleDevelopers на YouTube.
  2. Вы будете использовать идентификатор клиента 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 для своего проекта:

  1. На панели библиотеки найдите YouTube Data API v3. Нажмите на API и убедитесь, что он включен для вашего проекта.

  2. На панели учетных данных создайте две учетные записи:

    1. Создайте ключ API, который будет использоваться для отправки запросов к API, не требующих авторизации пользователя. Например, для получения информации об общедоступном канале YouTube не требуется авторизация пользователя.

    2. Создайте идентификатор клиента OAuth 2.0. В качестве типа приложения выберите Компьютерное приложение. Учетные данные OAuth 2.0 необходимы для запросов, требующих авторизации пользователя. Например, чтобы получить информацию о канале YouTube, принадлежащем пользователю, который прошел аутентификацию, необходимо разрешение этого пользователя.

      Скачайте JSON-файл с учетными данными OAuth 2.0. Файл имеет название, похожее на client_secret_CLIENTID.json, где CLIENTID – идентификатор клиента для вашего проекта.

Шаг 2. Настройте и запустите пример

Используйте виджет API Explorer на боковой панели, чтобы получить образец кода для извлечения информации о канале GoogleDevelopers на YouTube. В этом запросе для идентификации приложения используется ключ API, и он не требует авторизации пользователя или каких-либо специальных разрешений от пользователя, запускающего пример.

  1. Откройте документацию по методу channels.list.
  2. В разделе "Распространенные варианты использования" на этой странице есть таблица, в которой объясняется несколько распространенных способов использования метода. Первый вариант в таблице – это результаты, отсортированные по идентификатору канала.

    Нажмите на значок кода для первого адреса, чтобы открыть и заполнить полноэкранный API Explorer.

    Изображение, на котором показано, где находится ссылка на символ кода в таблице со способами использования в документации channels.list. Альтернативный текст для этого изображения идентифицирует изображение как символ кода и указывает вариант использования, связанный с этой ссылкой.

  3. В левой части окна API Explorer в полноэкранном режиме показано следующее:

    1. Под заголовком Параметры запроса приведен список параметров, которые поддерживает метод. Необходимо задать значения параметров part и id. Значение параметра id – UC_x5XG1OV2P6uZZ5FSM9Ttw – это идентификатор канала GoogleDevelopers на YouTube.

    2. Под параметрами находится раздел Учетные данные. В раскрывающемся меню в этом разделе должно быть выбрано значение Ключ API. По умолчанию в API Explorer используются демонстрационные учетные данные. Но для локального запуска примера вы будете использовать собственный ключ API.

      Изображение, на котором показан раздел "Учетные данные" в полноэкранном режиме API Explorer и раскрывающееся меню с выбранным вариантом "Ключ API".

  4. В правой части полноэкранного режима API Explorer находятся вкладки с примерами кода на разных языках. Выберите вкладку Python.

  5. Скопируйте пример кода и сохраните его в файле с названием example.py.

  6. В скачанном примере найдите строку YOUR_API_KEY и замените ее ключом API, созданным на шаге 1 этого руководства.

  7. Запустите пример из командной строки. В рабочем каталоге выполните следующую команду:

    python example.py

  8. Пример должен выполнить запрос и вывести ответ в STDOUT.

Шаг 3. Выполните авторизованный запрос

На этом шаге вы измените пример кода, чтобы он получал информацию не о канале GoogleDevelopers, а о вашем канале YouTube. Для этого запроса требуется авторизация пользователя.

  1. Вернитесь к документации по методу channels.list.

  2. В разделе "Распространенные варианты использования" нажмите на значок кода для третьего элемента в таблице. В этом случае нужно вызвать метод list для канала "mychannel".

  3. В левой части полноэкранного API Explorer вы увидите список параметров, за которым следует раздел Credentials (Учетные данные). Однако в этом примере есть два отличия от того, в котором вы получали информацию о канале GoogleDevelopers:

    1. В разделе параметров вместо значения параметра id должно быть задано значение параметра mine, равное true. Это указывает серверу API на то, что нужно получить информацию о канале текущего авторизованного пользователя.

    2. В разделе Credentials (Учетные данные) в раскрывающемся меню выберите Google OAuth 2.0.

      Кроме того, если вы нажмете на ссылку Показать области действия, должна быть выбрана область действия https://www.googleapis.com/auth/youtube.readonly.

      Изображение, на котором показаны области действия в полноэкранном режиме Google API Explorer и выбран вариант использования учетных данных Google OAuth 2.0.

  4. Как и в предыдущем примере, выберите вкладку Python, скопируйте пример кода и сохраните его в файле example.py.

    В коде найдите строку YOUR_CLIENT_SECRET_FILE.json и замените ее на путь к файлу с секретным кодом клиента, скачанному на шаге 1 этого краткого руководства.

  5. Запустите пример из командной строки. В рабочем каталоге выполните следующую команду:

    python example.py

  6. Скопируйте URL из консоли и откройте его в браузере.

    Если вы ещё не вошли в аккаунт Google, вам будет предложено это сделать. Если вы вошли в несколько аккаунтов Google, вам будет предложено выбрать один из них для авторизации.

  7. Нажмите кнопку, чтобы предоставить приложению доступ к областям действия, указанным в примере кода.

  8. Скопируйте код авторизации из браузера и вставьте его в терминал. После этого можно закрыть вкладку браузера, использованную для авторизации.

    Ответ API снова должен быть выведен в STDOUT.

Дополнительные материалы