Краткое руководство по 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. Настройте и запустите образец

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

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

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

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

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

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

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

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