Примеры кода JavaScript

В примере кода ниже используется клиентская библиотека Google API для JavaScript . Вы можете скачать этот пример из папки javascript репозитория примеров кода YouTube API на GitHub .

Код запрашивает у пользователя разрешение на доступ к области https://www.googleapis.com/auth/yt-analytics.readonly .

return gapi.auth2.getAuthInstance()     .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"})     ...

Вашему приложению также может потребоваться запросить доступ к другим областям действия. Например, приложению, которое вызывает API YouTube Analytics и API данных YouTube, может потребоваться, чтобы пользователи также предоставили доступ к своим аккаунтам YouTube. Обзор авторизации определяет области действия, обычно используемые в приложениях, которые вызывают API YouTube Analytics.

Получайте ежедневную статистику каналов

В этом примере API YouTube Analytics вызывается для получения ежедневных просмотров и других показателей канала авторизованного пользователя за 2017 календарный год. В примере используется клиентская библиотека JavaScript API Google .

Настройка учетных данных авторизации

Перед первым локальным запуском этого примера вам необходимо настроить учетные данные авторизации для вашего проекта:

  1. Создайте или выберите проект в консоли API Google .
  2. Включите API YouTube Analytics для вашего проекта.
  3. В верхней части страницы «Учётные данные» выберите вкладку «Экран согласия OAuth» . Выберите адрес электронной почты, введите название продукта, если оно ещё не задано, и нажмите кнопку «Сохранить».
  4. На странице «Учетные данные» нажмите кнопку «Создать учетные данные» и выберите «Идентификатор клиента Oauth» .
  5. Выберите тип приложения Веб-приложение.
  6. В поле «Авторизованные источники JavaScript» введите URL-адрес, с которого будет отображаться пример кода. Например, можно использовать http://localhost:8000 или http://yourserver.example.com . Поле «Авторизованные URI перенаправления» можно оставить пустым.
  7. Нажмите кнопку «Создать» , чтобы завершить создание учетных данных.
  8. Перед закрытием диалогового окна скопируйте идентификатор клиента, который вам нужно будет вставить в пример кода.

Сделайте локальную копию образца

Затем сохраните пример в локальном файле. В примере найдите следующую строку и замените YOUR_CLIENT_ID на идентификатор клиента, полученный при настройке учётных данных для авторизации.

gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});

Запустить код

Теперь вы готовы приступить к фактическому тестированию образца:

  1. Откройте локальный файл в веб-браузере и откройте консоль отладки в нём. Вы увидите страницу с двумя кнопками.
  2. Нажмите кнопку «Авторизовать и загрузить» , чтобы запустить процесс авторизации пользователя. Если вы авторизуете приложение для получения данных вашего канала, в консоли браузера должны появиться следующие строки:
     Sign-in successful GAPI client loaded for API
  3. Если вместо строк, указанных выше, вы видите сообщение об ошибке, подтвердите, что вы загружаете скрипт с авторизованного URI перенаправления, который вы настроили для своего проекта, и что вы вставили свой идентификатор клиента в код, как описано выше.
  4. Нажмите кнопку «Выполнить» , чтобы вызвать API. Вы увидите объект response , выведенный на консоль браузера. В этом объекте свойство result соответствует объекту, содержащему данные API.

Пример кода

<script src="https://apis.google.com/js/api.js"></script> <script>   function authenticate() {     return gapi.auth2.getAuthInstance()         .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"})         .then(function() { console.log("Sign-in successful"); },               function(err) { console.error("Error signing in", err); });   }   function loadClient() {     return gapi.client.load("https://youtubeanalytics.googleapis.com/$discovery/rest?version=v2")         .then(function() { console.log("GAPI client loaded for API"); },               function(err) { console.error("Error loading GAPI client for API", err); });   }   // Make sure the client is loaded and sign-in is complete before calling this method.   function execute() {     return gapi.client.youtubeAnalytics.reports.query({       "ids": "channel==MINE",       "startDate": "2017-01-01",       "endDate": "2017-12-31",       "metrics": "views,estimatedMinutesWatched,averageViewDuration,averageViewPercentage,subscribersGained",       "dimensions": "day",       "sort": "day"     })         .then(function(response) {                 // Handle the results here (response.result has the parsed body).                 console.log("Response", response);               },               function(err) { console.error("Execute error", err); });   }   gapi.load("client:auth2", function() {     gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});   }); </script> <button onclick="authenticate().then(loadClient)">authorize and load</button> <button onclick="execute()">execute</button>