Краткое руководство по Java

В этом кратком руководстве объясняется, как настроить простое Java-приложение командной строки, которое отправляет запросы к API данных YouTube. В этом кратком руководстве фактически объясняется, как выполнить два запроса к API:

  1. Для получения информации о YouTube-канале GoogleDevelopers вам потребуется использовать ключ API, идентифицирующий ваше приложение.
  2. Для отправки авторизованного запроса, позволяющего получить информацию о вашем собственном канале YouTube, вам потребуется использовать идентификатор клиента OAuth 2.0.

Предварительные требования

Для запуска этого краткого руководства вам потребуется:

Шаг 1: Настройте свой проект и учетные данные.

Создайте или выберите проект в консоли Cloud . Выполните следующие действия для вашего проекта в консоли Cloud:

  1. В панели библиотеки найдите YouTube Data API v3. Щелкните по соответствующей записи API и убедитесь, что API включен для вашего проекта.

  2. В панели учетных данных создайте две учетные записи:

    1. Создайте ключ API. Вы будете использовать ключ API для выполнения запросов к API, не требующих авторизации пользователя. Например, для получения информации о общедоступном канале YouTube авторизация пользователя не требуется.

    2. Создайте идентификатор клиента OAuth 2.0. Установите тип приложения на «Настольное приложение» . Вам необходимо использовать учетные данные OAuth 2.0 для запросов, требующих авторизации пользователя. Например, авторизация пользователя необходима для получения информации о канале YouTube текущего авторизованного пользователя.

      Загрузите JSON-файл, содержащий ваши учетные данные OAuth 2.0. Файл имеет имя типа client_secret_CLIENTID.json , где CLIENTID — это идентификатор клиента для вашего проекта.

Шаг 2: Подготовка проекта

Выполните следующие шаги для подготовки проекта Gradle:

  1. В рабочей директории выполните следующие команды для создания новой структуры проекта:

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  2. Переместите загруженный вами JSON-файл после создания идентификатора клиента OAuth 2.0 в каталог src/main/resources расположенный ниже вашей рабочей директории, и переименуйте файл в client_secret.json .

  3. Откройте файл 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'
    }
  4. В файле build.gradle необходимо заменить переменные REVISION и CL_VERSION двумя значениями из документации клиентской библиотеки для YouTube Data API. На скриншоте ниже, демонстрирующем документацию по YouTube Analytics API, показано, где эти две переменные отображаются на странице.

    Скриншот справочника JavaDoc, показывающий, как найти значения переменных 'REVISION' и 'CL_VERSION'.

Шаг 3: Настройте и запустите образец.

Используйте виджет «Обозреватель API» на боковой панели, чтобы получить пример кода для получения информации о канале GoogleDevelopers на YouTube. Этот запрос использует ключ API для идентификации вашего приложения и не требует авторизации пользователя или каких-либо специальных разрешений от пользователя, запускающего пример.

  1. Откройте документацию по методу channels.list в API.
  2. На этой странице в разделе «Распространенные сценарии использования» содержится таблица, в которой описаны несколько распространенных способов применения этого метода. Первый пункт в таблице предназначен для отображения результатов по идентификатору канала.

    Щелкните по символу кода для первого элемента списка, чтобы открыть и заполнить полноэкранный обозреватель API.

    Изображение, указывающее местоположение ссылки на кодовый символ в таблице, содержащей варианты использования документации channels.list. Альтернативный текст для этого изображения указывает, что это кодовый символ, и определяет вариант использования, связанный с этой ссылкой.

  3. В левой части полноэкранного окна API Explorer отображается следующее:

    1. Ниже заголовка «Параметры запроса» находится список параметров, поддерживаемых методом. Необходимо задать значения параметров part и id . Значение параметра id , UC_x5XG1OV2P6uZZ5FSM9Ttw , — это идентификатор канала GoogleDevelopers на YouTube.

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

      Изображение, демонстрирующее раздел «Учетные данные» в полноэкранном окне «Обозреватель API» и выпадающее меню с выбранной опцией «Ключ API».

  4. В правой части полноэкранного окна «Проводник API» отображаются вкладки с примерами кода на разных языках. Выберите вкладку «Java» .

  5. Скопируйте пример кода и сохраните его в файле с именем src/main/java/ApiExample.java . Все примеры используют одно и то же имя класса ( ApiExample ), поэтому вам не нужно будет изменять файл build.gradle для запуска разных примеров.

  6. В загруженном вами примере найдите строку YOUR_API_KEY и замените ее ключом API, который вы создали на шаге 1 этого краткого руководства.

  7. Запустите пример из командной строки. В рабочей директории выполните:

    gradle -q run

  8. Пример должен выполнить запрос и вывести ответ в STDOUT .

Шаг 4: Выполните авторизованный запрос

На этом шаге вам нужно будет изменить свой пример кода таким образом, чтобы вместо получения информации о YouTube-канале GoogleDevelopers он получал информацию о вашем YouTube-канале. Для этого запроса требуется авторизация пользователя.

  1. Вернитесь к документации по методу channels.list в API.

  2. В разделе «Распространенные сценарии использования» щелкните по символу кода для третьего пункта в таблице. Этот сценарий использования — вызов метода list для «моего канала».

  3. В левой части полноэкранного окна API Explorer вы снова увидите список параметров, за которым следует раздел « Учетные данные» . Однако есть два отличия от примера, где вы получали информацию о канале GoogleDevelopers:

    1. В разделе параметров вместо значения параметра id следует установить значение параметра mine равным true . Это указывает API-серверу на необходимость получения информации о канале текущего аутентифицированного пользователя.

    2. В разделе «Учетные данные» в выпадающем меню следует выбрать опцию Google OAuth 2.0 .

      Кроме того, если вы нажмете на ссылку «Показать области действия» , должна быть отмечена область действия https://www.googleapis.com/auth/youtube.readonly .

      Изображение, демонстрирующее области действия в полноэкранном режиме API Explorer и выбранную опцию использования учетных данных «Google OAuth 2.0».

  4. Как и в предыдущем примере, выберите вкладку Java , скопируйте пример кода и сохраните его в файл src/main/java/ApiExample.java .

  5. Запустите пример из командной строки. В рабочей директории выполните:

    gradle -q run

  6. Программа должна попытаться открыть новое окно или вкладку в вашем браузере по умолчанию. Если это не удастся, скопируйте URL-адрес из терминала и откройте его вручную в браузере.

    Если вы еще не вошли в свою учетную запись Google, вам будет предложено войти. Если вы вошли в несколько учетных записей Google, вам будет предложено выбрать одну учетную запись для авторизации.

  7. Нажмите кнопку, чтобы предоставить вашему приложению доступ к областям видимости, указанным в вашем примере кода.

  8. Процедура проверки будет запущена автоматически, и вы можете закрыть вкладку браузера, использованную для аутентификации.

    Ответ API следует снова вывести в STDOUT ).

Дополнительная информация