В этом кратком руководстве объясняется, как настроить простое приложение командной строки Python, которое отправляет запросы к API данных YouTube. В этом кратком руководстве объясняется, как выполнить два запроса к API:
- Для получения информации о канале GoogleDevelopers на YouTube вам понадобится API-ключ, который идентифицирует ваше приложение.
- Вам нужно будет использовать идентификатор клиента OAuth 2.0 для отправки авторизованного запроса, который получит информацию о вашем канале YouTube.
Предпосылки
Для запуска этого быстрого старта вам понадобится:
Python 2.7 или Python 3.5+
Инструмент управления пакетами
pip
Клиентская библиотека Google API для Python:
pip install --upgrade google-api-python-client
Библиотеки
google-auth-oauthlib
иgoogle-auth-httplib2
для авторизации пользователей.pip install --upgrade google-auth-oauthlib google-auth-httplib2
Шаг 1: Настройте свой проект и учетные данные
Создайте или выберите проект в API Console . Выполните следующие задачи в API Console для вашего проекта:
На панели библиотеки найдите YouTube Data API v3. Щёлкните по списку этого API и убедитесь, что он включён для вашего проекта.
На панели учетных данных создайте два учетных данных:
Создайте 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-ключ для идентификации вашего приложения и не требует авторизации пользователя или каких-либо специальных разрешений от пользователя, запускающего пример.
- Откройте документацию по методу API channels.list .
На этой странице, в разделе «Распространённые примеры использования», представлена таблица, поясняющая несколько распространённых способов применения этого метода. Первый элемент таблицы предназначен для сортировки результатов по идентификатору канала.
Щелкните символ кода для первого листинга, чтобы открыть и заполнить полноэкранный обозреватель API.
В левой части полноэкранного обозревателя API отображается следующее:
Под заголовком «Параметры запроса» находится список параметров, поддерживаемых методом. Необходимо задать значения параметров
part
иid
. Значение параметраid
,UC_x5XG1OV2P6uZZ5FSM9Ttw
, — это идентификатор канала GoogleDevelopers на YouTube.Под параметрами находится раздел « Учётные данные» . В раскрывающемся меню этого раздела должно отображаться значение «Ключ API» . Обозреватель API по умолчанию использует демонстрационные учётные данные для упрощения начала работы. Но для локального запуска примера вам потребуется собственный ключ API.
В правой части полноэкранного обозревателя API отображаются вкладки с примерами кода на разных языках. Выберите вкладку Python .
Скопируйте пример кода и сохраните его в файле с именем
example.py
.В загруженном вами примере найдите строку
YOUR_API_KEY
и замените ее на ключ API, созданный вами на шаге 1 этого краткого руководства.Запустите пример из командной строки. В рабочем каталоге выполните:
python example.py
Образец должен выполнить запрос и вывести ответ в
STDOUT
.
Шаг 3: Выполните авторизованный запрос
На этом этапе вы измените пример кода так, чтобы вместо получения информации о канале GoogleDevelopers на YouTube он получал информацию о вашем канале на YouTube. Этот запрос требует авторизации пользователя.
Вернитесь к документации по методу API channels.list .
В разделе «Распространённые варианты использования» нажмите на символ кода для третьего пункта в таблице. Этот вариант использования — вызов метода
list
для «моего канала».Опять же, в левой части полноэкранного обозревателя API вы увидите список параметров, а затем раздел « Учётные данные» . Однако есть два отличия от примера, где вы получали информацию о канале GoogleDevelopers:
В разделе параметров вместо значения параметра
id
следует задать значение параметраmine
равнымtrue
. Это даст API-серверу указание получить информацию о канале текущего аутентифицированного пользователя.В разделе «Учетные данные» в раскрывающемся меню необходимо выбрать опцию 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
.