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

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

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

Предпосылки

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

  • Java 1.7 или выше.
  • Gradle 2.3 или выше .
  • Доступ к Интернету и веб-браузер.
  • Аккаунт Google.

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

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

  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 двумя значениями из документации клиентской библиотеки для API данных YouTube. На приведенном ниже снимке экрана, на котором показана документация по API YouTube Analytics, показано, где на странице появляются две переменные.

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

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

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

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

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

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

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

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

    2. Под параметрами находится раздел Credentials . В раскрывающемся меню в этом разделе должно отображаться значение ключа API . APIs 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. Запустите авторизованный запрос

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

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

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

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

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

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

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

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

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

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

    gradle -q run

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

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

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

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

    Ответ API должен быть снова выведен на STDOUT .

дальнейшее чтение