В этом кратком руководстве рассказывается, как настроить простое приложение Java с интерфейсом командной строки, которое отправляет запросы к YouTube Data API. В этом руководстве рассказывается, как выполнить два запроса к API:
- Вы будете использовать ключ API, который идентифицирует ваше приложение, чтобы получить информацию о канале GoogleDevelopers на YouTube.
- Вы будете использовать идентификатор клиента OAuth 2.0, чтобы отправить авторизованный запрос на получение информации о вашем канале YouTube.
Требования
Чтобы выполнить инструкции из этого руководства, вам потребуется:
- Java 1.7 или более поздней версии.
- Gradle 2.3 или более поздней версии.
- Доступ к интернету и веб-браузер.
- Аккаунт Google.
Шаг 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. Подготовьте проект
Чтобы подготовить проект Gradle, выполните следующие действия:
В рабочем каталоге выполните следующие команды, чтобы создать структуру нового проекта:
$ gradle init --type basic $ mkdir -p src/main/java src/main/resourcesПереместите JSON-файл, скачанный после создания идентификатора клиента OAuth 2.0, в каталог
src/main/resources, расположенный ниже рабочего каталога, и переименуйте файл вclient_secret.json.Откройте файл
build.gradleв рабочем каталоге и замените его содержимое следующим:apply plugin: 'java' apply plugin: 'application' mainClassName = 'ApiExample' sourceCompatibility = 1.7 targetCompatibility = 1.7 version = '1.0' repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.23.0' compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0' compile 'com.google.apis:google-api-services-youtube:v3-revREVISION-CL_VERSION' }
В файле
build.gradleвам нужно заменить переменные REVISION и CL_VERSION двумя значениями из документации по клиентской библиотеке для YouTube Data API. На скриншоте ниже показано, где эти переменные находятся на странице документации YouTube Analytics API.
Шаг 3. Настройте и запустите пример
Используйте виджет API Explorer на боковой панели, чтобы получить образец кода для извлечения информации о канале GoogleDevelopers на YouTube. В этом запросе для идентификации приложения используется ключ API, и он не требует авторизации пользователя или каких-либо специальных разрешений от пользователя, запускающего пример.
- Откройте документацию по методу channels.list API.
В разделе "Распространенные варианты использования" на этой странице есть таблица, в которой объясняется несколько распространенных способов использования метода. Первый список в таблице предназначен для вывода результатов по идентификатору канала.
Нажмите на значок кода для первого адреса, чтобы открыть и заполнить полноэкранный API Explorer.

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

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

Как и в предыдущем примере, выберите вкладку Java, скопируйте образец кода и сохраните его в файле
src/main/java/ApiExample.java.Запустите пример из командной строки. В рабочем каталоге выполните следующую команду:
gradle -q runПример должен попытаться открыть новое окно или вкладку в браузере по умолчанию. Если это не сработает, скопируйте URL из терминала и откройте его в браузере вручную.
Если вы ещё не вошли в аккаунт Google, вам будет предложено это сделать. Если вы вошли в несколько аккаунтов Google, вам будет предложено выбрать один из них для авторизации.
Нажмите кнопку, чтобы предоставить приложению доступ к областям действия, указанным в примере кода.
Пример будет выполнен автоматически, и вы сможете закрыть вкладку браузера, которая использовалась для аутентификации.
Ответ API снова должен быть выведен в
STDOUT.