В примерах ниже показано, как использовать YouTube Data API (v3) для выполнения функций, связанных с видео.
Как получить список видео, загруженных на канал
В этом примере показано, как получить список видео, загруженных на определенный канал. Пример состоит из двух шагов:
-
Шаг 1. Получите идентификатор плейлиста с загруженными видео
Вызовите метод
channels.list, чтобы получить идентификатор плейлиста, в котором содержатся загруженные на канал видео. Значение параметраpartв запросе должно включатьcontentDetailsкак одну из частей ресурсаchannel, которые нужно получить. В ответе API свойствоcontentDetails.relatedPlaylists.uploadsсодержит идентификатор плейлиста.Определить канал можно несколькими способами:
-
Чтобы получить информацию о канале YouTube, принадлежащем пользователю, который прошел аутентификацию, присвойте параметру
mineзначениеtrue. Ваш запрос должен быть авторизован с помощью OAuth 2.0.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &mine=true
-
Установите для параметра
forUsernameимя пользователя YouTube, чтобы получить информацию о канале, связанном с этим именем. В этом примере для параметраforUsernameзадано значениеGoogle, чтобы получить информацию об официальном канале Google на YouTube.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
-
В качестве значения параметра
idукажите идентификатор канала, информацию о котором вы хотите получить. В этом примере параметрidимеет значениеUCK8sQmJBp8GCxrOtXWBpyEA, которое также идентифицирует официальный канал Google на YouTube.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &id=UCK8sQmJBp8GCxrOtXWBpyEA
-
-
Шаг 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.
В чарте mostPopular представлены популярные музыкальные, игровые и киновидео.
Затем вы можете задать следующие параметры:
regionCode– указывает API, что нужно вернуть список видео для определенного региона. Значение параметра – это код страны в формате ISO 3166-1 alpha-2. Чтобы получить список кодов регионов, поддерживаемых YouTube, используйте методi18nRegions.list.videoCategoryId. Идентификатор категории, для которой нужно получить список самых популярных видео. Чтобы получить список идентификаторов категорий, поддерживаемых YouTube, используйте методvideoCategories.list.
Например, следующий запрос позволяет получить самые популярные спортивные видео в Испании:
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 версии 3, поддерживает возобновляемую загрузку. Кроме того, в примере показано, как проверить статус загруженного видео, получив часть
processingDetailsресурсаvideo, а также как обрабатывать изменения статуса загруженного видео.
Как проверить статус загруженного видео
В этом примере показано, как проверить статус загруженного видео. Загруженное видео сразу же появится в ленте загруженных видео аутентифицированного пользователя. Однако видео не будет показываться на YouTube, пока не будет обработано.
-
Шаг 1. Загрузите видео
Вызовите метод
videos.insert, чтобы загрузить видео. Если запрос выполнен успешно, ответ API будет содержать ресурсvideo, в котором указан уникальный идентификатор загруженного видео. -
Шаг 2. Проверьте статус видео
Вызовите метод
videos.list, чтобы проверить статус видео. В качестве значения параметраidукажите идентификатор видео, полученный на шаге 1. Установите для параметраpartзначениеprocessingDetails.Если запрос обработан успешно, ответ API будет содержать ресурс
video. Проверьте значение свойстваprocessingDetails.processingStatus, чтобы определить, обрабатывается ли видео. Когда обработка видео будет завершена, значение свойства изменится сprocessingнаsucceededилиfailed.Тело запроса представляет собой ресурс
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
Как управлять доступом брендов-партнеров (предоставление доступа бренду-партнеру без запроса)
Доступ брендов-партнеров по инициативе автора (CI BPA) позволяет владельцу видео делиться доступом к своему видео с каналом бренда-партнера. Для этого требуется часть brandPartner.
Предоставление доступа (Insert)
Чтобы предоставить доступ при загрузке видео, включите brandPartner в параметр part и укажите объект brandPartner в теле запроса. Чтобы идентифицировать канал бренда, необходимо указать либо channelId (внешний идентификатор канала, начинающийся с "UC"), либо channelHandle (начинающийся с "@").
POST /youtube/v3/videos?part=snippet,status,brandPartner { "snippet": { "title": "Video Title", "description": "Video Description", "categoryId": "22" }, "status": { "privacyStatus": "private" }, "brandPartner": { "channelHandle": "@brandchannel" } }
В ответе будет возвращен только разрешенный channelId.
Как изменить или удалить доступ (обновление)
Чтобы изменить доступ к другому каналу бренда или удалить доступ, вызовите метод videos.update с brandPartner в параметре part.
Чтобы заменить доступ, укажите в теле запроса новый параметр channelId или channelHandle:
PUT /youtube/v3/videos?part=brandPartner
{
"id": "VIDEO_ID",
"brandPartner": {
"channelId": "UC_SOME_BRAND_CHANNEL_ID"
}
}Чтобы закрыть доступ, отправьте запрос с brandPartner в параметре part, но с пустым объектом brandPartner в теле запроса:
PUT /youtube/v3/videos?part=brandPartner
{
"id": "VIDEO_ID",
"brandPartner": {}
}Как загрузить свой значок и установить его для видео
Чтобы загрузить свой значок и установить его для видео, используйте метод thumbnails.set API версии 3. В запросе значение параметра videoId указывает на видео, для которого будет использоваться значок.
Этот запрос нельзя протестировать с помощью 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