Реализация: Видео

В следующих примерах показано, как использовать API данных YouTube (v3) для выполнения функций, связанных с видео.

Получить загруженные видео с канала

В этом примере извлекаются видео, загруженные на определенный канал. Пример состоит из двух шагов:

  • Шаг 1. Получите идентификатор плейлиста для загруженных на канал видео.

    Вызовите метод channels.list , чтобы получить идентификатор плейлиста, содержащего загруженные видео канала. Значение параметра part запроса должно включать contentDetails в качестве одной из извлекаемых частей ресурса channel . В ответе API свойство contentDetails.relatedPlaylists.uploads содержит идентификатор списка воспроизведения.

    Определить канал можно несколькими способами:

  • Шаг 2. Получите список загруженных видео.

    Вызовите метод playlistItems.list , чтобы получить список загруженных видео. Установите для параметра playlistId значение, полученное на шаге 1. В этом примере значение параметра установлено в UUK8sQmJBp8GCxrOtXWBpyEA , что представляет собой список видео, загруженных на официальный канал Google на YouTube.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list?
            part=snippet,contentDetails,status
            &playlistId=UUK8sQmJBp8GCxrOtXWBpyEA

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

Чтобы получить список самых популярных видео, вызовите метод videos.list и установите для параметра chart mostPopular . При получении этого списка вы также можете установить один или оба следующих параметра:

  • regionCode : указывает API вернуть список видео для указанного региона.
  • videoCategoryId : определяет категорию видео, для которой следует получить самые популярные видео.

По запросу ниже извлекаются самые популярные спортивные видео в Испании:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?
        part=snippet
        &chart=mostPopular
        &regionCode=es
        &videoCategoryId=17

Загрузить видео

Поскольку API-интерфейсы Explorer не поддерживают возможность загрузки файлов, в этом описании нет ссылки на исполняемый пример. Следующие ресурсы помогут вам изменить ваше приложение, чтобы оно могло загружать видео с помощью API версии 3:

  • Документация по методу videos.insert API содержит несколько примеров кода, объясняющих, как загрузить видео с помощью разных языков программирования.

  • В руководстве по возобновляемым загрузкам объясняется последовательность HTTP-запросов, которые приложение использует для загрузки видео с помощью процесса возобновляемой загрузки. Руководство в первую очередь предназначено для разработчиков, которые не могут использовать клиентские библиотеки Google API , некоторые из которых предоставляют встроенную поддержку возобновляемых загрузок.

  • В примере JavaScript для загрузки видео используется CORS (совместное использование ресурсов между источниками), чтобы продемонстрировать, как загрузить видеофайл через веб-страницу. Библиотека загрузки CORS, которую использует API версии 3, естественным образом поддерживает возобновляемую загрузку. Кроме того, в примере показано, как проверить статус загруженного видео, получив часть processingDetails video , а также как обрабатывать изменения статуса загруженного видео.

Проверьте статус загруженного видео

В этом примере показано, как проверить статус загруженного видео. Загруженное видео сразу же появится в ленте загруженных видео аутентифицированного пользователя. Однако видео не будет видно на YouTube, пока оно не будет обработано.

  • Шаг 1. Загрузите видео

    Вызовите метод videos.insert , чтобы загрузить видео . Если запрос успешен, ответ API будет содержать video , который идентифицирует уникальный идентификатор загруженного видео.

  • Шаг 2. Проверьте статус видео

    Вызовите метод videos.list чтобы проверить статус видео. Установите для параметра id значение идентификатора видео, полученное на шаге 1. Установите для параметра part processingDetails .

    Если запрос обработан успешно, ответ API будет содержать video . Проверьте значение processingDetails.processingStatus чтобы определить, продолжает ли YouTube обрабатывать видео. Значение свойства изменится на другое значение, отличное от processing , например, succeeded или failed , когда YouTube завершит обработку видео.

    Текст запроса — это video , в котором свойство id указывает идентификатор удаляемого видео. В этом примере ресурс также содержит объект recordingDetails .

    Запрос ниже проверяет статус видео. Чтобы выполнить запрос в API Explorer, вам необходимо установить значение свойства id .

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
            part=snippet,processingDetails
            &id=VIDEO_ID

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

Обновить видео

В этом примере показано, как обновить видео, добавив информацию о времени и месте, где оно было записано. В примере есть следующие шаги:

  • Шаг 1. Получите идентификатор видео

    Выполните описанные выше действия, чтобы получить загруженные видео для канала текущего пользователя, прошедшего проверку подлинности. Список можно использовать для отображения списка видео, используя идентификатор каждого видео в качестве ключа.

    Примечание. Существует множество других способов получить идентификаторы видео, например получение результатов поиска или перечисление элементов в списке воспроизведения. Однако, поскольку видео может обновлять только его владелец, получение списка видео, принадлежащих пользователю, авторизовавшему запрос API, вероятно, станет первым шагом в этом процессе.

  • Шаг 2. Обновите видео

    Вызовите метод videos.update , чтобы обновить определенное видео. Установите значение параметра part recordingDetails . (Значение параметра зависит от того, какие поля метаданных видео обновляются.)

    Текст запроса — это video , в котором свойство id указывает идентификатор видео, которое вы обновляете. В этом примере ресурс также содержит объект recordingDetails .

    В приведенном ниже примере ресурса указано, что видео было записано 30 октября 2013 года в Бостоне:

    {
      "id": "VIDEO_ID",
      "recordingDetails": {
        "location": {
          "latitude": "42.3464",
          "longitude": "-71.0975"
        }
        "recordingDate": "2013-10-30T23:15:00.000Z"
      }
    }

    Чтобы выполнить запрос в API Explorer, вам необходимо установить значение свойства id .

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update?
            part=snippet

Загрузите собственное миниатюрное изображение и установите его для видео.

Вы можете использовать метод thumbnails.set API версии 3, чтобы загрузить собственное миниатюрное изображение и установить его для видео. В вашем запросе значение параметра videoId определяет видео, для которого будет использоваться миниатюра.

Этот запрос невозможно протестировать с помощью API-обозревателя, поскольку API-обозреватель не поддерживает возможность загрузки мультимедийных файлов, которая является обязательным требованием для этого метода.

Связанные примеры кода: PHP , Python.

Удалить видео

В этом примере показано, как удалить видео. В примере есть следующие шаги:

  • Шаг 1. Получите идентификатор видео

    Выполните описанные выше действия, чтобы получить загруженные видео для канала текущего пользователя, прошедшего проверку подлинности. Список можно использовать для отображения списка видео, используя идентификатор каждого видео в качестве ключа.

    Примечание. Существует множество других способов получить идентификаторы видео, например получение результатов поиска или перечисление элементов в списке воспроизведения. Однако, поскольку видео может удалить только его владелец, получение списка видео, принадлежащих пользователю, авторизовавшему запрос API, вероятно, станет первым шагом в этом процессе.

  • Шаг 2. Удалите видео

    Вызовите метод videos.delete чтобы удалить определенное видео. В запросе параметр id указывает идентификатор видео, которое вы удаляете. Запрос должен быть авторизован с использованием OAuth 2.0. Если вы тестируете этот запрос в API Explorer, вам нужно будет заменить действительный идентификатор видео на значение параметра id .

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete?
            id=VIDEO_ID
    

Сообщить о оскорбительном видео

В этом примере показано, как сообщить о видео, содержащем оскорбительный контент. В примере есть следующие шаги:

  • Шаг 1. Получите идентификаторы, которые объясняют, почему на видео поступила жалоба.

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

    {
      "kind": "youtube#videoAbuseReportReason",
      "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"",
      "id": "S",
      "snippet": {
        "label": "Spam or misleading",
        "secondaryReasons": [
          {
            "id": "27",
            "label": "Spam or mass advertising"
          },
          {
            "id": "28",
            "label": "Misleading thumbnail"
          },
          {
            "id": "29",
            "label": "Malware or phishing"
          },
          {
            "id": "30",
            "label": "Pharmaceutical drugs for sale"
          },
          {
            "id": "31",
            "label": "Other misleading info"
          }
        ]
      }
    }

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

  • Шаг 2. Отметьте видео как оскорбительное содержание

    Отправьте авторизованный запрос методу videos.reportAbuse чтобы сообщить о видео. Текст запроса — это объект JSON, который идентифицирует как помеченное видео, так и причину, по которой оно помечается. Как отмечалось в шаге 1, по некоторым причинам вторичная причина поддерживается и настоятельно рекомендуется.

    Свойство videoId объекта JSON идентифицирует видео, которое помечается.

    Пример объекта JSON ниже помечает видео как содержащее спам или вводящий в заблуждение контент, а точнее, за использование вводящего в заблуждение миниатюрного изображения. Как показано в примере объекта JSON выше, идентификатором спама или вводящего в заблуждение содержимого является S . Идентификатор вводящей в заблуждение миниатюры28 .

    {
      "videoId": "VIDEO_ID",
      "reasonId": "S",
      "secondaryReasonId": "28",
      "comments": "Testing the video flagging feature.",
      "language": "en"
    }

    Запрос videos.reportAbuse должен быть авторизован с использованием OAuth 2.0. Ссылка ниже загружает объект JSON, указанный выше, в проводнике API. Чтобы протестировать запрос, вам необходимо заменить действительный идентификатор видео на значение свойства videoId . Помните, что отправка этого запроса фактически пометит видео.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse