В этом кратком руководстве объясняется, как настроить простое PHP-приложение командной строки, которое отправляет запросы к API данных YouTube. В этом кратком руководстве фактически объясняется, как выполнить два запроса к API:
- Для получения информации о YouTube-канале GoogleDevelopers вам потребуется использовать ключ API, идентифицирующий ваше приложение.
- Для отправки авторизованного запроса, позволяющего получить информацию о вашем собственном канале YouTube, вам потребуется использовать идентификатор клиента OAuth 2.0.
Предварительные требования
Для запуска этого краткого руководства вам потребуется:
- PHP 5.4 или более поздней версии с установленным интерфейсом командной строки (CLI) и расширением JSON.
- Инструмент управления зависимостями Composer установлен глобально.
- Клиентская библиотека Google API для PHP:
- Если вы ранее не устанавливали клиентскую библиотеку:
composer require google/apiclient:^2.0
- Если вы ранее устанавливали клиентскую библиотеку, рекомендуем обновить ее, чтобы убедиться, что у вас установлены самые актуальные классы для тестируемой библиотеки:
composer update google/apiclient --with-dependencies
- Если вы ранее не устанавливали клиентскую библиотеку:
Шаг 1: Настройте свой проект и учетные данные.
Создайте или выберите проект в консоли API . Выполните следующие действия в консоли API для вашего проекта:
В панели библиотеки найдите YouTube Data API v3. Щелкните по соответствующей записи API и убедитесь, что API включен для вашего проекта.
В панели учетных данных создайте две учетные записи:
Создайте ключ API. Вы будете использовать ключ API для выполнения запросов к API, не требующих авторизации пользователя. Например, для получения информации о общедоступном канале YouTube авторизация пользователя не требуется.
Создайте идентификатор клиента OAuth 2.0. Установите тип приложения на «Другое» . Вам необходимо использовать учетные данные OAuth 2.0 для запросов, требующих авторизации пользователя. Например, авторизация пользователя необходима для получения информации о канале YouTube текущего авторизованного пользователя.
Загрузите JSON-файл, содержащий ваши учетные данные OAuth 2.0. Файл имеет имя типа
client_secret_CLIENTID.json, гдеCLIENTID— это идентификатор клиента для вашего проекта.
Шаг 2: Настройте и запустите образец.
Используйте виджет «Обозреватель API» на боковой панели, чтобы получить пример кода для получения информации о канале GoogleDevelopers на YouTube. Этот запрос использует ключ API для идентификации вашего приложения и не требует авторизации пользователя или каких-либо специальных разрешений от пользователя, запускающего пример.
- Откройте документацию по методу channels.list в API.
На этой странице в разделе «Распространенные сценарии использования» содержится таблица, в которой описаны несколько распространенных способов применения этого метода. Первый пункт в таблице предназначен для отображения результатов по идентификатору канала.
Щелкните по символу кода для первого элемента списка, чтобы открыть и заполнить полноэкранный обозреватель API.

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

В правой части полноэкранного окна «Проводник API» отображаются вкладки с примерами кода на разных языках. Выберите вкладку PHP .
Скопируйте пример кода и сохраните его в файле с именем
example.php.В загруженном вами примере найдите строку
YOUR_API_KEYи замените ее ключом API, который вы создали на шаге 1 этого краткого руководства.Запустите пример из командной строки. В рабочей директории выполните:
php example.phpПример должен выполнить запрос и вывести ответ в
STDOUT.
Шаг 3: Выполните авторизованный запрос
На этом шаге вам нужно будет изменить свой пример кода таким образом, чтобы вместо получения информации о YouTube-канале GoogleDevelopers он получал информацию о вашем YouTube-канале. Для этого запроса требуется авторизация пользователя.
Вернитесь к документации по методу channels.list в API.
В разделе «Распространенные сценарии использования» щелкните по символу кода для третьего пункта в таблице. Этот сценарий использования — вызов метода
listдля «моего канала».В левой части полноэкранного окна API Explorer вы снова увидите список параметров, за которым следует раздел « Учетные данные» . Однако есть два отличия от примера, где вы получали информацию о канале 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
- Документация по клиентской библиотеке Google API для PHP
- Клиентская библиотека Google API для PHP на GitHub и автоматически сгенерированные классы для API YouTube. (На странице найдите папку
YouTubeи файлYouTube.php.) - Справочная документация по API данных YouTube