В следующих примерах показано, как использовать 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, чтобы определить, продолжает ли YouTube- processingвидео. Значение свойства изменится на что-то другое, например,- 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