API Reference

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

В этом справочном руководстве объясняется, как использовать API для выполнения всех этих операций. Руководство структурировано по типам ресурсов. Ресурс представляет собой тип элемента, входящего в состав YouTube, например, видео, плейлист или подписка. Для каждого типа ресурса в руководстве перечислены одно или несколько представлений данных, а сами ресурсы представлены в виде JSON-объектов. В руководстве также перечислены один или несколько поддерживаемых методов ( LIST , POST , DELETE и т. д.) для каждого типа ресурса и объясняется, как использовать эти методы в вашем приложении.

Вызов API

К запросам API данных YouTube применяются следующие требования:

  1. В каждом запросе необходимо либо указать ключ API (с параметром key ), либо предоставить токен OAuth 2.0. Ваш ключ API доступен на панели «Доступ к API» консоли разработчика для вашего проекта.

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

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

  3. API поддерживает протокол аутентификации OAuth 2.0. Вы можете предоставить токен OAuth 2.0 одним из следующих способов:

    • Используйте параметр запроса access_token следующим образом: ?access_token= oauth2-token
    • Используйте заголовок HTTP Authorization следующим образом: Authorization: Bearer oauth2-token

    Полные инструкции по внедрению аутентификации OAuth 2.0 в ваше приложение можно найти в руководстве по аутентификации .

Типы ресурсов

Activities

Ресурс activity содержит информацию о действии, которое совершил конкретный канал или пользователь на YouTube. В лентах активности отображаются такие действия, как оценка видео, публикация видео, добавление видео в избранное, загрузка видео и т. д. Каждый ресурс activity определяет тип действия, канал, связанный с действием, и ресурсы, связанные с действием, например, видео, которое было оценено или загружено.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
list GET /activities Возвращает список событий активности канала, соответствующих критериям запроса. Например, вы можете получить события, связанные с конкретным каналом или с собственным каналом пользователя.

Captions

Ресурс caption представляет собой дорожку субтитров YouTube. Дорожка субтитров связана только с одним видео YouTube.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
delete DELETE /captions Удаляет указанную дорожку субтитров.
download GET /captions/ id Загружает дорожку субтитров. Дорожка субтитров возвращается в исходном формате, если в запросе не указано значение параметра tfmt , и на исходном языке, если в запросе не указано значение параметра tlang .
insert POST /captions Загружает дорожку субтитров.
list GET /captions Возвращает список дорожек субтитров, связанных с указанным видео. Ответ API не содержит самих субтитров, и метод captions.download предоставляет возможность получить дорожку субтитров.
update PUT /captions Обновляет дорожку субтитров. При обновлении дорожки субтитров вы можете изменить статус дорожки как черновика , загрузить новый файл субтитров для неё или сделать и то, и другое.

ChannelBanners

Ресурс channelBanner содержит URL-адрес, который можно использовать для установки недавно загруженного изображения в качестве баннера для канала.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
insert POST /channelBanners/insert Загружает изображение баннера канала на YouTube. Этот метод представляет собой первые два шага трёхэтапного процесса обновления изображения баннера канала:
  1. Вызовите метод channelBanners.insert для загрузки двоичных данных изображения на YouTube. Изображение должно иметь соотношение сторон 16:9 и размер не менее 2048x1152 пикселей. Рекомендуем загружать изображение размером 2560x1440 пикселей.
  2. Извлеките значение свойства url из ответа, который API возвращает для шага 1.
  3. Вызовите метод channels.update для обновления настроек брендинга канала. Установите значение свойства brandingSettings.image.bannerExternalUrl равным URL-адресу, полученному на шаге 2.

ChannelSections

Ресурс channelSection содержит информацию о наборе видео, которые канал выбрал для публикации. Например, раздел может содержать последние видео, самые популярные видео или видео из одного или нескольких плейлистов.

Разделы канала видны только в том случае, если контент отображается в режиме просмотра (а не в режиме ленты). Чтобы канал отображал контент в режиме просмотра, установите для свойства brandingSettings.channel.showBrowseView значение true для указанного канала.

Канал может создать максимум 10 полок.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
delete DELETE /channelSections Удаляет раздел канала.
insert POST /channelSections Добавляет раздел канала к каналу аутентифицированного пользователя. Канал может создать максимум 10 полок.
list GET /channelSections Возвращает список ресурсов channelSection , соответствующих критериям запроса API.
update PUT /channelSections Обновляет раздел канала.

Channels

Ресурс channel содержит информацию о канале YouTube.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
list GET /channels Возвращает коллекцию из нуля или более ресурсов channel , соответствующих критериям запроса.
update PUT /channels Обновляет метаданные канала. Этот метод поддерживает только обновление объектов brandingSettings и invideoPromotion ресурса channel , а также их дочерних свойств.

CommentThreads

Ресурс commentThread содержит информацию о ветке комментариев YouTube, которая включает комментарий верхнего уровня и ответы на него (если таковые имеются). Ресурс commentThread может представлять комментарии как к видео, так и к каналу.

И комментарий верхнего уровня, и ответы на него фактически являются ресурсами comment , вложенными в ресурс commentThread . Ресурс commentThread не обязательно содержит все ответы на комментарий, и для получения всех ответов на конкретный комментарий необходимо использовать метод comments.list . Кроме того, некоторые комментарии не имеют ответов.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
list GET /commentThreads Возвращает список потоков комментариев, соответствующих параметрам запроса API.
insert POST /commentThreads Создаёт новый комментарий верхнего уровня. Чтобы добавить ответ на существующий комментарий, используйте метод comments.insert .

Comments

Ресурс comment содержит информацию об одном комментарии на YouTube. Ресурс comment может представлять собой комментарий как к видео, так и к каналу. Кроме того, комментарий может быть комментарием верхнего уровня или ответом на комментарий верхнего уровня.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
list GET /comments Возвращает список комментариев, соответствующих параметрам запроса API.
setModerationStatus POST /comments/setModerationStatus Устанавливает статус модерации одного или нескольких комментариев. API-запрос должен быть авторизован владельцем канала или видео, связанного с комментариями.
insert POST /comments Создаёт ответ на существующий комментарий. Примечание: чтобы создать комментарий верхнего уровня, используйте метод commentThreads.insert .
delete DELETE /comments Удаляет комментарий.
update PUT /comments Изменяет комментарий.

I18nLanguages

Ресурс i18nLanguage определяет язык приложения, поддерживаемый сайтом YouTube. Язык приложения также может называться языком пользовательского интерфейса. Для сайта YouTube язык приложения может быть выбран автоматически на основе настроек учётной записи Google, языка браузера или IP-адреса. Пользователь также может вручную выбрать язык пользовательского интерфейса в нижнем колонтитуле сайта YouTube.

Каждый ресурс i18nLanguage идентифицирует код языка и название. Код языка можно использовать в качестве значения параметра hl при вызове методов API, таких как videoCategories.list .

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
list GET /i18nLanguages Возвращает список языков приложений, которые поддерживает сайт YouTube.

I18nRegions

Ресурс i18nRegion определяет географическую область, которую пользователь YouTube может выбрать в качестве предпочтительного региона контента. Регион контента также может называться локалью контента. Для веб-сайта YouTube регион контента может быть выбран автоматически на основе эвристических критериев, таких как домен YouTube или IP-адрес пользователя. Пользователь также может вручную выбрать регион контента в нижнем колонтитуле сайта YouTube.

Каждый ресурс i18nRegion идентифицирует код региона и его название. Код региона можно использовать в качестве значения параметра regionCode при вызове методов API, таких как search.list , videos.list , activities.list и videoCategories.list .

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
list GET /i18nRegions Возвращает список регионов контента, поддерживаемых веб-сайтом YouTube.

Members

Ресурс member представляет собой участника канала YouTube. Участник оказывает регулярную финансовую поддержку создателю и получает особые привилегии. Например, участники могут общаться в чате, когда создатель включает режим «Только для участников».

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
list GET /members Список участников (ранее известных как «спонсоры») канала. API-запрос должен быть авторизован владельцем канала.

MembershipsLevels

Ресурс membershipsLevel определяет уровень цен для создателя, авторизовавшего запрос API.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
list GET /membershipsLevels Возвращает коллекцию из нуля или более ресурсов membershipsLevel , принадлежащих каналу, авторизовавшему запрос API. Уровни возвращаются в неявном порядке отображения.

PlaylistItems

Ресурс playlistItem идентифицирует другой ресурс, например видео, включённый в плейлист. Кроме того, ресурс playlistItem содержит сведения о включённом ресурсе, относящиеся конкретно к тому, как этот ресурс используется в данном плейлисте.

YouTube также использует плейлист для идентификации списка загруженных видео на канале, при этом каждый playlistItem в этом списке представляет одно загруженное видео. Идентификатор плейлиста для этого списка можно получить из channel resource для данного канала. Затем можно использовать метод playlistItems.list для доступа к списку.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
delete DELETE /playlistItems Удаляет элемент плейлиста.
insert POST /playlistItems Добавляет ресурс в плейлист.
list GET /playlistItems Возвращает коллекцию элементов плейлиста, соответствующих параметрам запроса API. Вы можете получить все элементы указанного плейлиста или один или несколько элементов плейлиста по их уникальным идентификаторам.
update PUT /playlistItems Изменяет элемент плейлиста. Например, можно обновить позицию элемента в плейлисте.

Playlists

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

YouTube также использует плейлисты для определения специальных подборок видео для канала, например:

  • загруженные видео
  • положительно оцененные (понравившиеся) видео
  • история часов
  • посмотреть позже

Точнее, эти списки связаны с каналом, который представляет собой набор видео, плейлистов и другой информации YouTube, принадлежащей человеку, группе или компании. Идентификаторы плейлистов для каждого из этих списков можно получить из channel resource для конкретного канала.

Затем вы можете использовать метод playlistItems.list для получения любого из этих списков. Вы также можете добавлять или удалять элементы из этих списков, вызывая методы playlistItems.insert и playlistItems.delete .

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
delete DELETE /playlists Удаляет плейлист.
list GET /playlists Возвращает коллекцию плейлистов, соответствующих параметрам запроса API. Например, вы можете получить все плейлисты, принадлежащие аутентифицированному пользователю, или один или несколько плейлистов по их уникальным идентификаторам.
insert POST /playlists Создает плейлист.
update PUT /playlists Изменяет плейлист. Например, можно изменить название, описание или статус конфиденциальности плейлиста.

Результат поиска содержит информацию о видео, канале или плейлисте YouTube, соответствующих параметрам поиска, указанным в запросе API. Хотя результат поиска указывает на уникально идентифицируемый ресурс, например, видео, он не имеет собственных постоянных данных.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
list GET /search Возвращает коллекцию результатов поиска, соответствующих параметрам запроса, указанным в API-запросе. По умолчанию набор результатов поиска определяет соответствующие ресурсы video , channel и playlist , но вы также можете настроить запросы для извлечения только определённого типа ресурсов.

Subscriptions

Ресурс subscription содержит информацию о подписке пользователя YouTube. Подписка уведомляет пользователя о добавлении новых видео на канал или о выполнении другим пользователем одного из нескольких действий на YouTube, например, о загрузке видео, оценке видео или комментировании видео.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
delete DELETE /subscriptions Удаляет подписку.
insert POST /subscriptions Добавляет подписку на канал аутентифицированного пользователя.
list GET /subscriptions Возвращает ресурсы подписки, соответствующие критериям запроса API.

Thumbnails

Ресурс thumbnail определяет различные размеры миниатюрных изображений, связанных с ресурсом. Изображения миниатюр имеют следующие характеристики:

  • Свойство snippet.thumbnails ресурса — это объект, который идентифицирует миниатюрные изображения, доступные для этого ресурса.
  • Ресурс thumbnail содержит ряд объектов. Имя каждого объекта ( default , medium , high и т. д.) соответствует размеру изображения миниатюры.
  • Различные типы ресурсов могут поддерживать различные размеры миниатюрных изображений.
  • Разные типы ресурсов могут определять разные размеры миниатюр с одинаковым именем. Например, миниатюра default для video обычно имеет размер 120x90 пикселей, а миниатюра default для ресурса channel — 88x88 пикселей.
  • Ресурсы одного типа могут иметь разные размеры миниатюр для некоторых изображений в зависимости от разрешения исходного изображения или контента, загруженного на YouTube. Например, HD-видео может поддерживать более высокое разрешение миниатюр, чем видео в формате, отличном от HD.
  • Каждый объект, содержащий информацию о размере миниатюры, имеет свойства width и height . Однако свойства ширины и высоты могут быть не возвращены для данного изображения.
  • Если загруженное миниатюрное изображение не соответствует требуемым размерам, оно будет изменено до нужного размера без изменения соотношения сторон. Изображение не обрезается, но может содержать чёрные полосы для обеспечения корректного размера.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
set POST /thumbnails/set Загружает пользовательскую миниатюру видео на YouTube и устанавливает ее для видео.

VideoAbuseReportReasons

Ресурс videoAbuseReportReason содержит информацию о причине, по которой видео может быть помечено как содержащее оскорбительный контент. Когда приложение вызывает метод videos.reportAbuse , чтобы сообщить о видео с оскорбительным контентом, запрос использует информацию из ресурса videoAbuseReportReason для определения причины жалобы на видео.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
list GET /videoAbuseReportReasons Получите список причин, по которым можно сообщить о оскорбительных видеороликах.

VideoCategories

Ресурс videoCategory определяет категорию, которая была или может быть связана с загруженными видео.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
list GET /videoCategories Возвращает список категорий, которые можно связать с видео YouTube.

Videos

video представляет собой видео YouTube.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
insert POST /videos Загружает видео на YouTube и при необходимости задает метаданные видео.
list GET /videos Возвращает список видео, соответствующих параметрам запроса API.
delete DELETE /videos Удаляет видео YouTube.
update PUT /videos Обновляет метаданные видео.
rate POST /videos/rate Добавить оценку «Нравится» или «Не нравится» к видео или удалить оценку с видео.
getRating GET /videos/getRating Извлекает оценки, которые авторизованный пользователь дал списку указанных видео.
reportAbuse POST /videos/reportAbuse Сообщить о видео, содержащем оскорбительный контент.

Watermarks

Ресурс watermark определяет изображение, которое отображается при воспроизведении видео на определённом канале. Вы также можете указать целевой канал, с которым будет связано изображение, а также временные параметры, определяющие, когда и как долго водяной знак будет отображаться при воспроизведении видео.

Дополнительную информацию об этом ресурсе см. в его представлении ресурса и списке свойств .

Метод HTTP-запрос Описание
URI относительно https://www.googleapis.com/youtube/v3
set POST /watermarks/set Загружает изображение водяного знака на YouTube и устанавливает его для канала.
unset POST /watermarks/unset Удаляет водяной знак изображения канала.