В этом кратком руководстве объясняется, как настроить простое Java-приложение командной строки, которое отправляет запросы к API данных YouTube. В этом кратком руководстве фактически объясняется, как выполнить два запроса к API:
- Для получения информации о YouTube-канале GoogleDevelopers вам потребуется использовать ключ API, идентифицирующий ваше приложение.
- Для отправки авторизованного запроса, позволяющего получить информацию о вашем собственном канале YouTube, вам потребуется использовать идентификатор клиента OAuth 2.0.
Предварительные требования
Для запуска этого краткого руководства вам потребуется:
- Java 1.7 или более поздняя версия.
- Средний балл Gradle 2.3 или выше .
- Доступ к интернету и веб-браузеру.
- Аккаунт Google.
Шаг 1: Настройте свой проект и учетные данные.
Создайте или выберите проект в консоли Cloud . Выполните следующие действия для вашего проекта в консоли Cloud:
В панели библиотеки найдите 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: Подготовка проекта
Выполните следующие шаги для подготовки проекта 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» на боковой панели, чтобы получить пример кода для получения информации о канале GoogleDevelopers на YouTube. Этот запрос использует ключ API для идентификации вашего приложения и не требует авторизации пользователя или каких-либо специальных разрешений от пользователя, запускающего пример.
- Откройте документацию по методу channels.list в API.
На этой странице в разделе «Распространенные сценарии использования» содержится таблица, в которой описаны несколько распространенных способов применения этого метода. Первый пункт в таблице предназначен для отображения результатов по идентификатору канала.
Щелкните по символу кода для первого элемента списка, чтобы открыть и заполнить полноэкранный обозреватель API.

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

В правой части полноэкранного окна «Проводник API» отображаются вкладки с примерами кода на разных языках. Выберите вкладку «Java» .
Скопируйте пример кода и сохраните его в файле с именем
src/main/java/ApiExample.java. Все примеры используют одно и то же имя класса (ApiExample), поэтому вам не нужно будет изменять файлbuild.gradleдля запуска разных примеров.В загруженном вами примере найдите строку
YOUR_API_KEYи замените ее ключом API, который вы создали на шаге 1 этого краткого руководства.Запустите пример из командной строки. В рабочей директории выполните:
gradle -q runПример должен выполнить запрос и вывести ответ в
STDOUT.
Шаг 4: Выполните авторизованный запрос
На этом шаге вам нужно будет изменить свой пример кода таким образом, чтобы вместо получения информации о 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 .

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