В следующих примерах показано, как использовать API данных YouTube (версия 3) для выполнения функций, связанных с видео.
Получить загруженные видео канала
В этом примере извлекаются видеоролики, загруженные на определенный канал. Пример состоит из двух шагов:
Шаг 1: Получите идентификатор плейлиста для загруженных на канал видео.
Вызовите метод
channels.list, чтобы получить идентификатор плейлиста, содержащего загруженные видео канала. Значение параметраpartзапроса должно включатьcontentDetailsв качестве одной из частей ресурсаchannel, которую необходимо получить. В ответе API свойствоcontentDetails.relatedPlaylists.uploadsбудет содержать идентификатор плейлиста.Существует несколько способов определить канал:
Установите значение параметра
mineравнымtrue, чтобы получить информацию о канале YouTube текущего авторизованного пользователя. Ваш запрос должен быть авторизован с использованием OAuth 2.0.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &mine=true
Установите параметр
forUsernameна имя пользователя YouTube, чтобы получить информацию о канале, связанном с этим именем пользователя. В этом примере значение параметраforUsernameустанавливается наGoogle, чтобы получить информацию об официальном канале YouTube компании Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
Установите параметр
idравным идентификатору канала YouTube, который однозначно идентифицирует канал, для которого вы получаете информацию. В этом примере параметрidустановлен наUCK8sQmJBp8GCxrOtXWBpyEA, что также идентифицирует официальный канал YouTube компании Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &id=UCK8sQmJBp8GCxrOtXWBpyEA
Шаг 2: Получите список загруженных видео.
Вызовите метод
playlistItems.list, чтобы получить список загруженных видео. Установите значение параметраplaylistIdравным значению, полученному на шаге 1. В этом примере значение параметра установлено равнымUUK8sQmJBp8GCxrOtXWBpyEA, что представляет собой список видео, загруженных на официальный канал YouTube компании Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list? part=snippet,contentDetails,status &playlistId=UUK8sQmJBp8GCxrOtXWBpyEA
Найти самые популярные видео
В этом примере показано, как получить список самых популярных видео на YouTube, отобранных с помощью алгоритма, который объединяет множество различных сигналов для определения общей популярности.
Чтобы получить список самых популярных видео, вызовите метод videos.list и установите значение параметра chart равным mostPopular . Диаграмма mostPopular включает в себя популярные музыкальные, кино- и игровые видеоролики.
Затем вы можете дополнительно установить следующие параметры:
-
regionCode: Указывает API вернуть список видео для указанного региона. Значение параметра — это код страны в формате ISO 3166-1 alpha-2. Вы можете использовать методi18nRegions.listдля получения списка кодов регионов, поддерживаемых YouTube. -
videoCategoryId: Определяет категорию видео, для которой следует получить самые популярные видео. Вы можете использовать методvideoCategories.listдля получения списка идентификаторов категорий, поддерживаемых YouTube.
Например, следующий запрос позволяет получить самые популярные спортивные видеоролики в Испании:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet &chart=mostPopular ®ionCode=es &videoCategoryId=17
Получение пакетной статистики видео
В этом примере статистика для списка видеороликов извлекается с помощью метода videos.batchGetStats .
Для использования этого метода задайте параметру id запроса список идентификаторов видео YouTube, разделенных запятыми, для которых вы хотите получить статистику. Задайте значение параметра part в виде списка частей ресурса videoStat разделенных запятыми, которые вы хотите включить в ответ. Поддерживаемые части: snippet , statistics , contentDetails и id .
Для использования этого метода с видео, не являющимися общедоступными, требуется аутентификация, но для общедоступных видео она не требуется. Если запрос получает данные для каких-либо общедоступных видео, он должен быть надлежащим образом авторизован .
Приведённый ниже запрос получает статистику для видео с идентификаторами VIDEO_ID_1 и VIDEO_ID_2 :
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.batchGetStats? part=snippet,statistics &id=VIDEO_ID_1,VIDEO_ID_2
Загрузите видео
Поскольку API Explorer не поддерживает загрузку файлов, в этом описании нет ссылки на исполняемый пример. Следующие ресурсы помогут вам модифицировать ваше приложение, чтобы оно могло загружать видео с помощью API версии 3:
В документации к методу videos.insert API содержится несколько примеров кода, объясняющих, как загружать видео с использованием различных языков программирования.
В руководстве по возобновляемой загрузке объясняется последовательность HTTP-запросов, которые приложение использует для загрузки видео с помощью возобновляемого процесса загрузки. Руководство в первую очередь предназначено для разработчиков, которые не могут использовать клиентские библиотеки Google API , некоторые из которых обеспечивают встроенную поддержку возобновляемой загрузки.
В примере на JavaScript для загрузки видео используется CORS (междоменное совместное использование ресурсов), чтобы продемонстрировать, как загрузить видеофайл через веб-страницу. Библиотека загрузки CORS, используемая в API v3, по умолчанию поддерживает возобновляемую загрузку. Кроме того, пример демонстрирует, как проверить статус загруженного видео, получив часть
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-обозревателе необходимо задать значение свойства
id.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update? part=snippet
Загрузите собственное изображение-миниатюру и установите его для видео.
Вы можете использовать метод thumbnails.set из API v3 для загрузки пользовательского изображения-миниатюры и установки его для видео. В вашем запросе значение параметра videoId определяет видео, для которого будет использоваться миниатюра.
Этот запрос невозможно протестировать с помощью API Explorer, поскольку API Explorer не поддерживает загрузку медиафайлов, что является обязательным условием для данного метода.
Удалить видео
В этом примере показано, как удалить видео. Пример включает следующие шаги:
Шаг 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 Explorer. Для проверки запроса необходимо заменить значение свойстваvideoIdдействительным идентификатором видео. Помните, что отправка этого запроса фактически пометит видео как нарушающее правила.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse