В этом руководстве рассказывается, как настроить простое приложение командной строки на PHP, которое отправляет запросы к YouTube Data API. В этом кратком руководстве объясняется, как выполнить два запроса к API:
- Вы будете использовать ключ API, который идентифицирует ваше приложение, чтобы получить информацию о канале GoogleDevelopers на YouTube.
- Вы будете использовать идентификатор клиента OAuth 2.0, чтобы отправлять авторизованные запросы на получение информации о вашем канале YouTube.
Требования
Чтобы выполнить инструкции из этого руководства, вам потребуется:
- PHP 5.4 или более поздней версии с установленным интерфейсом командной строки (CLI) и расширением JSON.
- Инструмент управления зависимостями Composer, установленный глобально.
- Клиентская библиотека API Google для PHP:
- Если вы ещё не установили клиентскую библиотеку:
composer require google/apiclient:^2.0
- Если вы уже установили клиентскую библиотеку, рекомендуем обновить ее, чтобы использовать самые актуальные классы для тестируемой библиотеки:
composer update google/apiclient --with-dependencies
- Если вы ещё не установили клиентскую библиотеку:
Шаг 1. Настройте проект и учетные данные
Создайте или выберите проект в Cloud Console. Выполните следующие задачи в консоли Cloud для своего проекта:
На панели библиотеки найдите 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 показано следующее:
Под заголовком Request parameters (Параметры запроса) перечислены параметры, которые поддерживает метод. Значения параметров
partиidдолжны быть заданы. Значение параметраid–UC_x5XG1OV2P6uZZ5FSM9Ttw– это идентификатор канала GoogleDevelopers на YouTube.Под параметрами находится раздел Учетные данные. В раскрывающемся меню в этом разделе должно быть выбрано значение Ключ API. По умолчанию в API Explorer используются демонстрационные учетные данные. Однако для локального запуска примера вам понадобится собственный ключ API.

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

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