В следующих примерах показано, как использовать API данных YouTube (v3) для выполнения функций, связанных с видео.
Получить загруженные видео канала
Этот пример извлекает видео, загруженные на определённый канал. Пример состоит из двух шагов:
Шаг 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
, чтобы получить информацию об официальном канале Google на YouTube.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
Задайте параметру
id
идентификатор канала YouTube, который однозначно идентифицирует канал, информацию о котором вы получаете. В этом примере параметру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. Вы можете использовать метод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
Загрузить видео
Поскольку 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
, чтобы определить, продолжает ли YouTubeprocessing
видео. Значение свойства изменится на что-то другое, например,succeeded
илиfailed
, когда YouTube завершит обработку видео.Тело запроса представляет собой
video
, в котором свойствоid
указывает идентификатор удаляемого видео. В этом примере ресурс также содержит объектrecordingDetails
.Запрос ниже проверяет статус видео. Чтобы выполнить запрос в обозревателе API, необходимо задать значение свойства
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 Explorer, поскольку API Explorer не поддерживает возможность загрузки медиафайлов, что является требованием для этого метода.
Удалить видео
В этом примере показано, как удалить видео. Пример включает следующие шаги:
Шаг 1: Получите идентификатор видео
Выполните указанные выше действия, чтобы получить загруженные видео для канала текущего аутентифицированного пользователя. Этот список можно использовать для отображения списка видео, используя идентификатор каждого видео в качестве ключа.
Примечание: существует множество других способов получить идентификаторы видео, например, из результатов поиска или списка элементов в плейлисте. Однако, поскольку видео может быть удалено только его владельцем, получение списка видео, принадлежащих пользователю, авторизовавшему API-запрос, вероятно, станет первым шагом в этом процессе.
Шаг 2: Удалить видео
Чтобы удалить конкретное видео, вызовите метод
videos.delete
. В запросе параметрid
указывает идентификатор удаляемого видео. Запрос должен быть авторизован с помощью OAuth 2.0. При тестировании этого запроса в обозревателе API необходимо заменить значение параметра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