На этой странице перечислены изменения и обновления документации YouTube Data API (v3). Подпишитесь на этот журнал изменений . 
4 декабря 2025 г.
Документация API данных YouTube и калькулятор квот были обновлены с учетом изменения стоимости квоты на загрузку видео с приблизительно 1600 единиц до приблизительно 100 единиц.
10 июля 2025 г.
С 21 июля 2025 года YouTube скорректирует контент, возвращаемый диаграммой mostPopular метода video.list . Раньше диаграмма mostPopular отражала видео из списка «В тренде». Теперь в диаграмме mostPopular будут представлены видео из списков «В тренде»: «Музыка», «Фильмы» и «Игры». Это изменение API связано с прекращением поддержки страницы «В тренде» на YouTube.
26 марта 2025 г.
С 31 марта 2025 года YouTube изменит систему подсчёта просмотров коротких видео. Раньше просмотр коротких видео засчитывался после определённого количества секунд воспроизведения. Теперь просмотры будут учитывать количество запусков или повторов вашего короткого видео, без ограничений по минимальному времени просмотра. Подробнее
Начиная с 31 марта 2025 года следующие поля в API данных будут возвращать количество просмотров коротких видео в соответствии с этим изменением:
-
channels.statistics.viewCount -
videos.statistics.viewCount
30 октября 2024 г.
API теперь поддерживает возможность определять видео, содержащие реалистичный изменённый или синтетический ( A/S ) контент. Узнайте больше о политике YouTube в отношении A/S-контента .
Примерами контента A/S являются видеоролики, которые:
- Заставить реального человека сделать вид, что он говорит или делает что-то, чего он на самом деле не говорил и не делал
- Изменить кадры реального события или места
- Создайте реалистичную сцену, которая на самом деле не происходила
Чтобы указать, содержит ли видео контент A/S, установите свойство status.containsSyntheticMedia . Это свойство можно задать при вызове методов videos.insert или videos.update . Если свойство установлено, оно возвращается в video .
30 апреля 2024 г.
Примечание: это объявление о прекращении поддержки.
Это обновление содержит следующие изменения:
API больше не поддерживает возможность вставки и извлечения обсуждений каналов. Это изменение соответствует функционалу, поддерживаемому на сайте YouTube, где не поддерживается публикация комментариев к каналам.
13 марта 2024 г.
Примечание: это объявление о прекращении поддержки.
Это обновление содержит следующие изменения:
Параметр sync для методов captions.insert и captions.update устарел. YouTube прекратит поддержку этого параметра с 12 апреля 2024 года.
В результате этого изменения разработчикам придется включать информацию о времени при вставке или обновлении дорожек субтитров, иначе загрузка не будет выполнена.
12 марта 2024 г.
Это обновление содержит следующие изменения:
В документацию по ресурсу captions внесено изменение с учетом того, что максимально допустимая длина поля snippet.name составляет 150 символов. API возвращает ошибку nameTooLong если название трека длиннее.
7 марта 2024 г.
Примечание: это объявление о прекращении поддержки.
Свойство ресурса channel brandingSettings.channel.moderateComments устарело. YouTube прекратит поддержку этого параметра с 7 марта 2024 года.
31 января 2024 г.
Это обновление содержит следующие изменения:
Новый параметр forHandle метода channels.list позволяет получить информацию о канале, указав его идентификатор YouTube.
9 ноября 2023 г.
Все ссылки на ресурс videoId в разделе Comments были удалены, поскольку ресурс videoId не возвращается с помощью вызова API.
12 сентября 2023 г.
Примечание: это объявление о прекращении поддержки.
Метод comments.markAsSpam устарел несколько лет назад. Он уже не поддерживается на YouTube и больше не поддерживается через API.
Во все документы, ссылающиеся на метод comments.markAsSpam , добавлено уведомление об устаревании.
22 августа 2023 г.
Метод search.list теперь поддерживает параметр videoPaidProductPlacement . Этот параметр позволяет фильтровать результаты поиска, включая только те видео, которые автор отметил как платные для продвижения.
18 августа 2023 г.
Определение параметра liveStreamingDetails.concurrentViewers video обновлено с учётом того, что количество одновременных зрителей, возвращаемое API данных YouTube, может отличаться от обработанных и очищенных от спама данных, доступных в YouTube Analytics. Справочный центр YouTube предоставляет дополнительную информацию о метриках прямых трансляций.
7 августа 2023 г.
Как было объявлено 12 июня 2023 года , параметр relatedToVideoId метода search.list устарел. Он больше не поддерживается, и ссылки на него удалены из документации API.
28 июня 2023 г.
Метод thumbnails.set теперь поддерживает ошибку uploadRateLimitExceeded , которая означает, что канал загрузил слишком много миниатюр за последние 24 часа и следует повторить попытку позже.
12 июня 2023 г.
Примечание: это объявление о прекращении поддержки.
Параметр relatedToVideoId метода search.list устарел. YouTube прекратит поддержку этого параметра с 7 августа 2023 года.
В настоящее время в документацию метода search.list добавлено уведомление об устаревании. Этот параметр будет полностью удалён из документации search.list 7 августа 2023 года или позднее.
Кроме того, из руководства по внедрению API был удален пример, демонстрирующий, как извлекать похожие видео.
22 августа 2022 г.
Исправлены аннотации типов для полей video.statistics на строковые из unsigned long.
5 августа 2022 г.
YouTube изменил способ генерации идентификаторов субтитров и, в рамках этого изменения, присваивает новые идентификаторы всем дорожкам с субтитрами. Это изменение может быть обратно несовместимым для приложений, хранящих значения caption_id , хотя оно не повлияет на приложения, которые не хранят значения caption_id .
С настоящего момента и до 1 декабря 2022 года методы captions.list , captions.update , captions.download и captions.delete будут поддерживать как старые, так и новые идентификаторы дорожек субтитров. Однако с 1 декабря 2022 года YouTube прекратит поддержку старых идентификаторов дорожек субтитров. После этого вызов любого из этих методов API со старым идентификатором дорожки субтитров приведёт к ошибке captionNotFound .
Чтобы подготовиться к этому изменению, вам следует запланировать полную замену всех сохраненных данных дорожек субтитров в период с настоящего момента по 1 декабря 2022 года. Это означает, что для любого видео, для которого вы храните данные дорожек субтитров, вам следует удалить текущие сохраненные данные, а затем вызвать метод captions.list , чтобы получить текущий набор дорожек субтитров для видео и сохранить данные в ответе API, как вы это делаете обычно.
12 июля 2022 г.
Условия предоставления услуг API YouTube были обновлены. Подробнее см. в разделе « Условия предоставления услуг API YouTube — История изменений» .
27 апреля 2022 г.
Описание метода videos.insert было обновлено с целью отметить, что максимальный размер файла для загружаемых видео увеличился со 128 ГБ до 256 ГБ.
8 апреля 2022 г.
Определения параметров myRecentSubscribers и mySubscribers метода subscriptions.list были обновлены с учётом того, что максимальное количество подписчиков, возвращаемых API, может быть ограничено. Это изменение представляет собой исправление документации, а не изменение поведения API.
15 декабря 2021 г.
Как было объявлено 18 ноября 2021 года , в связи с изменениями, направленными на то, чтобы сделать счетчики нелюбви к видео конфиденциальными на всей платформе YouTube , свойство ресурса video statistics.dislikeCount теперь является конфиденциальным.
Более подробную информацию об этом изменении можно найти в официальном блоге YouTube .
18 ноября 2021 г.
В связи с изменениями, направленными на то, чтобы сделать счетчики нелюбимых видео конфиденциальными на всей платформе YouTube , свойство ресурса video statistics.dislikeCount станет конфиденциальным с 13 декабря 2021 года. Это означает, что свойство будет включено в ответ API от конечной точки videos.list только в том случае, если запрос API был аутентифицирован владельцем видео.
Это изменение не влияет на конечную точку videos.rate .
Разработчики, которые не публикуют счётчики дизлайков и которым всё равно требуется счётчик дизлайков для своего API-клиента, могут подать заявку на включение в разрешённый список для получения исключения. Чтобы подать заявку на исключение, необходимо заполнить эту форму .
Более подробную информацию об этом изменении можно найти в официальном блоге YouTube .
2 июля 2021 г.
Примечание: это объявление о прекращении поддержки.
Конечная точка commentThreads.update устарела и больше не поддерживается. Эта конечная точка дублирует функциональность, доступную через другие конечные точки API. Вместо этого вы можете вызвать comments.update
commentThreads , выполните вторичный вызов метода commentThreads.list . 1 июля 2021 г.
Все разработчики, использующие API-сервисы YouTube, должны пройти аудит соответствия API, чтобы получить квоту, превышающую установленную по умолчанию квоту в 10 000 единиц. На сегодняшний день как процесс аудита соответствия, так и запросы на выделение дополнительных единиц квоты были проведены разработчиками, заполнившими и отправившими форму аудита и расширения квоты API-сервисов YouTube .
Чтобы прояснить эти процессы и лучше удовлетворить потребности разработчиков, использующих наши API-сервисы, мы добавляем три новые формы и руководство по их заполнению:
- Форма запроса проверенных разработчиков : разработчики, которые уже прошли аудит соответствия API, могут заполнить и отправить эту сокращенную форму, чтобы запросить продление выделенной квоты.
- Форма апелляции : разработчики, чьи проекты API не прошли аудит соответствия (или которым было отказано в увеличении квоты), могут заполнить и отправить эту форму.
- Форма смены контроля : Разработчики или любые стороны, управляющие клиентом API от имени разработчика, у которых произошла смена контроля (например, в результате покупки или продажи акций, слияния или другой формы корпоративной сделки), связанной с проектом API, должны заполнить и отправить эту форму. Это позволит команде YouTube, отвечающей за API, обновить наши записи, проверить соответствие нового проекта API требованиям и проверить текущее распределение квот разработчика.
Каждая новая форма будет информировать нас о вашем предполагаемом использовании API YouTube и позволит нам оказывать вам более эффективную помощь.
Более подробную информацию можно найти в нашем новом руководстве по аудиту соответствия API.
12 мая 2021 г.
Примечание: это объявление о прекращении поддержки.
Это обновление охватывает следующие изменения API:
Свойство ресурса
channelcontentDetails.relatedPlaylists.favoritesустарело. Функциональность избранных видео устарела уже несколько лет назад, как отмечено в записи истории изменений от 28 апреля 2016 года .До этого обновления API по-прежнему создавал новый плейлист, если клиент API пытался добавить видео в несуществующий плейлист избранного. В дальнейшем в этом случае плейлист не будет создаваться, и API будет возвращать ошибку. Попытки изменить плейлисты избранного путём добавления, изменения или удаления элементов также устарели, согласно предыдущим объявлениям, и могут в любой момент начать возвращать ошибки.
Следующие свойства ресурсов
channelустарели. Эти свойства уже не поддерживаются в пользовательском интерфейсе YouTube Studio и на YouTube. В результате они также больше не поддерживаются через API.-
brandingSettings.channel.defaultTab -
brandingSettings.channel.featuredChannelsTitle -
brandingSettings.channel.featuredChannelsUrls[] -
brandingSettings.channel.profileColor -
brandingSettings.channel.showBrowseView -
brandingSettings.channel.showRelatedChannels
Все свойства были удалены из представления ресурса
channel, а их определения — из списка свойств ресурса. Кроме того, ошибки, связанные с этими свойствами, были удалены из документации по конкретным методам.-
Следующие свойства ресурса
channelSectionустарели. Эти свойства уже не поддерживаются в пользовательском интерфейсе YouTube Studio и на YouTube. В результате они также больше не поддерживаются через API.-
snippet.style -
snippet.defaultLanguage -
snippet.localized.title -
localizations -
localizations.(key) -
localizations.(key).title -
targeting -
targeting.languages[] -
targeting.regions[] -
targeting.countries[]
В связи с этим изменением параметр
hlметодаchannelSection.listтакже был объявлен устаревшим, поскольку поддерживаемые им функции больше не поддерживаются.Все свойства были удалены из представления ресурса
channelSection, а их определения — из списка свойств ресурса. Кроме того, ошибки, связанные с этими свойствами, были удалены из документации по конкретным методам.-
Для свойства
snippet.typeресурсаchannelSectionследующие значения устарели. Эти значения уже не поддерживаются на страницах каналов YouTube и, как следствие, больше не поддерживаются через API.-
likedPlaylists -
likes -
postedPlaylists -
postedVideos -
recentActivity -
recentPosts
-
Свойство
snippet.tags[]ресурсаplaylistустарело. Это свойство уже не поддерживается на YouTube и, как следствие, больше не поддерживается через API.
9 февраля 2021 г.
Ресурс playlistItem поддерживает два новых свойства:
- Свойство
snippet.videoOwnerChannelIdопределяет идентификатор канала, загрузившего видео плейлист. - Свойство
snippet.videoOwnerChannelTitleопределяет название канала, загрузившего видео из плейлиста.
28 января 2021 г.
Это обновление содержит следующие изменения:
Методы
playlistItems.delete,playlistItems.insert,playlistItems.list,playlistItems.update,playlists.delete,playlists.listиplaylists.updateподдерживают новую ошибкуplaylistOperationUnsupported. Эта ошибка возникает, когда запрос пытается выполнить операцию, недопустимую для конкретного плейлиста. Например, пользователь не может удалить видео из своего плейлиста с загруженными видео или удалить сам плейлист.Во всех случаях эта ошибка возвращает код ответа HTTP
400(неверный запрос).Ошибки
watchHistoryNotAccessibleиwatchLaterNotAccessibleметодаplaylistItems.listудалены из документации. Хотя история просмотра и списки «Посмотреть позже» пользователей действительно недоступны через API, эти ошибки API не возвращает.
15 октября 2020 г.
В Политику разработчика добавлены два новых раздела:
- В новом разделе III.E.4.i представлена дополнительная информация о данных, собираемых и отправляемых через встроенный проигрыватель YouTube. Вы несёте ответственность за любые пользовательские данные, которые вы отправляете нам через любой встроенный проигрыватель YouTube до того, как пользователь взаимодействует с проигрывателем для обозначения намерения воспроизведения. Вы можете ограничить объём данных, передаваемых YouTube до того, как пользователь взаимодействует с проигрывателем, установив для параметра «Автовоспроизведение» значение «false».
- Новый раздел III.E.4.j посвящен проверке статуса контента как предназначенного для детей (MFK) перед его встраиванием на ваши сайты и в приложения. Вы несете ответственность за определение того, предназначены ли видео, встраиваемые вами в ваш API-клиент, для детей, и за соответствующую обработку данных, собранных встроенным проигрывателем. В связи с этим вы обязаны проверять статус контента с помощью сервиса YouTube Data API перед его встраиванием в ваш API-клиент через любой встроенный проигрыватель YouTube.
В новом руководстве «Как узнать статус MadeForKids» для видео объясняется, как узнать статус MFK для видео с помощью службы API данных YouTube .
В связи с этими изменениями в документацию по параметрам встроенного проигрывателя было добавлено напоминание, поясняющее, что если включить функцию автовоспроизведения, воспроизведение будет происходить без какого-либо взаимодействия пользователя с проигрывателем; поэтому сбор и обмен данными о воспроизведении будут происходить при загрузке страницы.
8 октября 2020 г.
Это обновление охватывает три небольших изменения, связанных с ресурсом channel :
- Объект
snippet.thumbnails, который идентифицирует миниатюрные изображения канала, может быть пустым для вновь созданных каналов, и его заполнение может занять до одного дня. - Свойство
statistics.videoCountотражает количество общедоступных видео на канале, даже для его владельцев. Это поведение соответствует данным, отображаемым на сайте YouTube. - Ключевые слова канала, указанные в свойстве
brandingSettings.channel.keywords, могут быть усечены, если их длина превышает максимально допустимые 500 символов или если они содержат неэкранированные кавычки ("). Обратите внимание, что ограничение в 500 символов не является ограничением на каждое ключевое слово, а ограничивает общую длину всех ключевых слов. Это поведение соответствует поведению на сайте YouTube.
9 сентября 2020 г.
Примечание: это объявление о прекращении поддержки.
Это обновление охватывает следующие изменения API. Все изменения вступят в силу 9 сентября 2020 года или позже, с даты данного объявления. В связи с этим разработчикам больше не следует полагаться на перечисленные ниже функции API.
- Следующие ресурсы API, методы, параметры и свойства ресурсов немедленно устарели и перестанут работать с даты этого объявления или после нее:
- Следующие свойства ресурса
channel:- Свойство
statistics.commentCount - Объект
brandingSettings.imageи все его дочерние свойства - Список
brandingSettings.hintsи все его дочерние свойства
- Свойство
- Параметр фильтра
categoryIdметодаchannels.list - Ресурс
guideCategoriesи методguideCategories.list
- Следующие свойства ресурса
- Ответы API для метода
channels.listбольше не содержат свойствоprevPageTokenесли запрос API устанавливает параметрmanagedByMeвtrue. Это изменение не влияет на свойствоprevPageTokenдля других запросовchannels.listи не влияет на свойствоnextPageTokenдля любых запросов. - Свойства ресурса
channelcontentDetails.relatedPlaylists.watchLaterиcontentDetails.relatedPlaylists.watchHistoryбыли объявлены устаревшими 11 августа 2016 г. Поддержка этих плейлистов методамиplaylistItems.insertиplaylistItems.deleteтакже полностью устарела, и оба свойства были удалены из документации. - Параметр
mySubscribersметодаchannels.list, объявленный устаревшим 30 июля 2013 г. , был удалён из документации. Используйте методsubscriptions.listи его параметрmySubscribersдля получения списка подписчиков канала аутентифицированного пользователя. - Объект ресурса
channelinvideoPromotionи все его дочерние свойства, которые были объявлены устаревшими 27 ноября 2017 года , были удалены из документации.
29 июля 2020 г.
Мы упростили процесс начисления квоты на запросы API, убрав дополнительную стоимость, связанную с параметром part . С настоящего момента мы будем взимать только базовую стоимость вызываемого метода. Подробнее об упрощённой квоте можно узнать здесь .
В результате этого изменения стоимость квоты для большинства вызовов API будет немного ниже, в то время как для некоторых вызовов API она останется прежней. Это изменение не увеличивает стоимость вызовов API. В целом, вероятно, ваша выделенная квота, отображаемая в консоли Google Cloud , будет немного больше.
Мы настоятельно рекомендуем всем разработчикам пройти аудит соответствия своих проектов, чтобы обеспечить себе постоянный доступ к API-сервисам YouTube.
Эта запись истории изменений была первоначально опубликована 20 июля 2020 года.
28 июля 2020 г.
Все видео, загруженные через конечную точку videos.insert из непроверенных API-проектов, созданных после 28 июля 2020 года, будут ограничены режимом приватного просмотра. Для снятия этого ограничения каждый проект должен пройти аудит на соответствие Условиям обслуживания .
Авторы, использующие непроверенный API-клиент для загрузки видео, получат электронное письмо с объяснением того, что их видео заблокировано как приватное и что они могут обойти ограничение, используя официальный или проверенный клиент.
Проекты API, созданные до 28 июля 2020 года, в настоящее время не затронуты этим изменением. Тем не менее, мы настоятельно рекомендуем всем разработчикам пройти аудит соответствия для своих проектов, чтобы обеспечить себе постоянный доступ к API-сервисам YouTube.
21 июля 2020 г.
[Обновлено 28 июля 2020 г.] Обновление документации, упомянутое в этой записи истории изменений, было повторно опубликовано 28 июля 2020 г.
Вчера мы опубликовали обновление документации, касающееся процесса начисления квоты. Однако в связи с непредвиденными обстоятельствами изменение квоты ещё не вступило в силу. В связи с этим документация была отменена в целях обеспечения точности. Во избежание путаницы запись в истории изменений, поясняющая это изменение, была удалена и будет опубликована повторно в ближайшем будущем.
7 июля 2020 г.
Примечание: это объявление о прекращении поддержки.
Параметры autoLevels stabilize метода videos.insert устарели, и оба параметра удалены из документации. Их значения игнорируются и не влияют на обработку новых загруженных видео.
15 июня 2020 г.
Новое руководство «Соблюдение политик YouTube для разработчиков» содержит рекомендации и примеры, которые помогут вам гарантировать, что ваши клиенты API соблюдают определенные разделы Условий и политик использования API YouTube (API TOS).
Это руководство даёт представление о том, как YouTube обеспечивает соблюдение определённых аспектов API TOS, но не заменяет какие-либо существующие документы. В руководстве рассматриваются некоторые из наиболее распространённых вопросов, которые разработчики задают во время аудитов соответствия API. Мы надеемся, что оно упростит процесс разработки функций, помогая вам понять, как мы интерпретируем и применяем наши политики.
4 июня 2020 г.
Примечание: это обновление предыдущего объявления об устаревании.
Функция бюллетеней канала полностью устарела. Это изменение было первоначально объявлено 17 апреля 2020 года и вступило в силу. В результате метод activities.insert больше не поддерживается, а метод activities.list больше не возвращает бюллетени канала. Подробнее см. в Справочном центре YouTube .
17 апреля 2020 г.
Примечание: это объявление о прекращении поддержки.
YouTube прекращает поддержку функции новостных лент каналов. В результате метод activities.insert будет упразднён, а метод activities.list перестанет возвращать новостные ленты каналов. Эти изменения вступят в силу в API с 18 мая 2020 года. Подробнее см. в Справочном центре YouTube .
31 марта 2020 г.
Это обновление содержит следующие изменения:
Новые ресурсы и методы
Новый ресурс
memberпредставляет собой участника канала YouTube. Участник оказывает регулярную финансовую поддержку создателю и получает особые привилегии. Например, участники могут общаться в чате, когда создатель включает режим «Только для участников».Этот ресурс заменяет ресурс
sponsor, который документирован как часть API прямых трансляций YouTube. Ресурсsponsorтеперь устарел, и клиентам API следует обновить вызовы методаsponsors.list, чтобы вместо него использовать методmembers.list.Новый ресурс
membershipsLevelопределяет уровень цен, управляемый создателем, авторизовавшим запрос API. МетодmembershipsLevels.listизвлекает список всех уровней членства создателя.
10 января 2020 г.
API теперь поддерживает возможность определения детского контента, который YouTube называет «предназначенным для детей ». Подробнее о детском контенте можно узнать в Справочном центре YouTube.
channel и video поддерживают два новых свойства, позволяющих создателям и зрителям контента определять контент, предназначенный для детей:
- Свойство
selfDeclaredMadeForKidsпозволяет создателям контента указывать, предназначен ли канал или видео для детей.
Для каналов это свойство можно задать при вызове методаchannels.update. Для видео это свойство можно задать при вызове методаvideos.insertилиvideos.update.
Обратите внимание, что это свойство включается только в ответы API, содержащие ресурсыchannelилиvideoесли владелец канала авторизовал запрос API. - Свойство
madeForKidsпозволяет любому пользователю получить статус канала или видео «Создано для детей». Например, статус может быть определен на основе значения свойстваselfDeclaredMadeForKids. Дополнительную информацию о настройке аудитории для вашего канала, видео или трансляций см. в Справочном центре YouTube .
Мы также обновили Условия обслуживания API сервисов YouTube и Правила для разработчиков. Подробнее см. в разделе «История изменений» в Условиях обслуживания API сервисов YouTube . Изменения в Условиях обслуживания API сервисов YouTube и Правилах для разработчиков вступят в силу 10 января 2020 года по тихоокеанскому времени.
10 сентября 2019 г.
Справочная документация API была обновлена с учетом изменения способа предоставления данных о количестве подписчиков на YouTube и, следовательно, в ответах API. В результате этого изменения данные о количестве подписчиков, возвращаемые службой YouTube Data API, округляются до трех значащих цифр для случаев, когда количество подписчиков превышает 1000. Это изменение затрагивает свойство ресурса channel statistics.subscriberCount .
Примечание: это изменение влияет на значение этого свойства даже в тех случаях, когда пользователь отправляет авторизованный запрос на данные о своём канале. Владельцы каналов по-прежнему могут видеть точное количество подписчиков в YouTube Studio.
Например, если у канала 123 456 подписчиков, свойство statistics.subscriberCount будет содержать значение 123000 В таблице ниже показаны примеры округления количества подписчиков в ответах API и сокращения в других общедоступных пользовательских интерфейсах YouTube:
| Пример количества подписчиков | API данных YouTube | Публично видимые пользовательские интерфейсы YouTube |
|---|---|---|
| 1,234 | 1230 | 1.23К |
| 12,345 | 12300 | 12.3К |
| 123,456 | 123000 | 123К |
| 1,234,567 | 1230000 | 1,23 млн |
| 12,345,678 | 12300000 | 12,3 млн |
| 123,456,789 | 123000000 | 123М |
4 апреля 2019 г.
Это обновление содержит следующие изменения:
Справочная документация API была обновлена, чтобы лучше объяснить распространённые варианты использования каждого метода и предоставить динамические, высококачественные примеры кода через виджет «Обозреватель API». Пример см. в документации по методу
channels.list. На страницах, описывающих методы API, теперь есть два новых элемента:Виджет «Обозреватель API» позволяет выбирать области авторизации, вводить примеры значений параметров и свойств, а затем отправлять реальные запросы API и просматривать реальные ответы API. Виджет также предлагает полноэкранный режим просмотра полных примеров кода, которые динамически обновляются в соответствии с указанными вами областями и значениями.
В разделе « Распространённые варианты использования» описаны один или несколько распространённых вариантов использования метода, описанного на странице. Например, вы можете вызвать метод
channels.listдля получения данных о конкретном канале или для получения данных о канале текущего пользователя.Вы можете использовать ссылки в этом разделе, чтобы заполнить API Explorer примерами значений для вашего варианта использования или открыть полноэкранный API Explorer с уже заполненными значениями. Эти изменения направлены на то, чтобы вам было проще просматривать примеры кода, непосредственно применимые к варианту использования, который вы пытаетесь реализовать в своём приложении.
В настоящее время поддерживаются примеры кода для Java, JavaScript, PHP, Python и curl.
Инструмент для работы с примерами кода также обновлён и получил новый пользовательский интерфейс, предлагающий все описанные выше функции. С помощью этого инструмента вы можете изучать варианты использования различных методов, загружать значения в API Explorer и открывать API Explorer в полноэкранном режиме для просмотра примеров кода на Java, JavaScript, PHP и Python.
В связи с этим изменением были удалены страницы, на которых ранее перечислялись доступные примеры кода для Java, JavaScript, PHP и Python.
Обновлены руководства по быстрому старту для Java , JavaScript , PHP и Python . В них объясняется, как запустить один пример с ключом API, а другой — с идентификатором клиента OAuth 2.0, используя примеры кода из обозревателя API.
Обратите внимание, что описанные выше изменения заменяют интерактивный инструмент, добавленный в документацию API в 2017 году.
9 июля 2018 г.
Это обновление содержит следующие изменения:
Определение свойства
snippet.thumbnailsресурсаchannelобновлено с учетом того, что при отображении миниатюр в вашем приложении ваш код должен использовать URL-адреса изображений в точности так, как они возвращаются в ответах API. Например, ваше приложение не должно использовать доменhttpвместо доменаhttpsв URL-адресе, возвращаемом в ответе API.С июля 2018 года URL-адреса миниатюр каналов будут доступны только в домене
https, который соответствует URL-адресам в ответах API. После этого вы можете столкнуться с некорректной работой изображений в вашем приложении при попытке загрузить изображения YouTube с доменаhttp.Примечание: это объявление о прекращении поддержки.
Свойство
videorecordingDetails.location.altitudeустарело. Нет гарантии, что видео вернут значения для этого свойства. Аналогично, даже если запросы API попытаются установить значение для этого свойства, входящие данные могут не быть сохранены.
22 июня 2018 г.
Руководство по внедрению , ранее известное как «Руководство по внедрению и миграции», обновлено: из него удалены инструкции по переходу с API версии 2 на API версии 3. Кроме того, из него удалены инструкции по функциям, которые были устарели в API версии 3, например, избранным видео.
27 ноября 2017 г.
Это обновление содержит следующие изменения:
Примечание: это объявление о прекращении поддержки.
YouTube прекращает поддержку функций «Избранное видео» и «Избранный веб-сайт» , которые поддерживаются в API через объект
invideoPromotionресурсаchannel. В результате этот объект, включая все его дочерние свойства, становится устаревшим.Вы по-прежнему сможете извлекать и настраивать данные
invideoPromotionдо 14 декабря 2017 г. После этой даты:- Попытки извлечь часть
invideoPromotionпри вызовеchannels.listвернут пустойinvideoPromotionили вообще не вернут никаких данныхinvideoPromotion. - Попытки обновить данные
invideoPromotionпри вызовеchannels.updateбудут возвращать успешный ответ по крайней мере до 27 мая 2018 года, но они будут рассматриваться как пустые операции, то есть фактически они не будут выполнять обновление.
После 27 мая 2018 года эти запросы могут возвращать сообщения об ошибках, указывающие, например, на то, что
invalidPromotionявляется недопустимой частью.- Попытки извлечь часть
16 ноября 2017 г.
Это обновление содержит следующие изменения:
Интерактивный инструмент для работы с фрагментами кода теперь поддерживает примеры кода Node.js. Эти примеры также доступны в документации практически для всех методов API, например, для метода
channels.list.Настраиваемые примеры предназначены для того, чтобы предоставить вам отправную точку для конкретного сценария использования приложения Node.js. Функциональность аналогична коду из руководства по быстрому старту Node.js. Однако примеры содержат некоторые вспомогательные функции, которых нет в руководстве по быстрому старту:
- Функция
removeEmptyParametersпринимает список пар «ключ-значение», соответствующих параметрам запроса API, и удаляет параметры, не имеющие значений. - Функция
createResourceпринимает список пар «ключ-значение», соответствующих свойствам в ресурсе API. Затем она преобразует свойства в JSON-объект, который можно использовать в операцияхinsertиupdate. В примере ниже показан набор имён и значений свойств, а также JSON-объект, который код создаст для них:# Key-value pairs: {'id': 'ABC123', 'snippet.title': 'Resource title', 'snippet.description': 'Resource description', 'status.privacyStatus': 'private'} # JSON object: { 'id': 'ABC123', 'snippet': { 'title': 'Resource title', 'description': 'Resource description', }, 'status': { 'privacyStatus': 'private' } }
Все эти примеры предназначены для загрузки и локального запуска. Подробнее см. в инструкциях к инструменту для работы с фрагментами кода, требования к локальному запуску полных примеров кода .
- Функция
25 октября 2017 г.
Это обновление содержит следующие изменения:
Примеры кода Python в интерактивном инструменте создания фрагментов кода были обновлены для использования библиотек
google-authиgoogle-auth-oauthlibвместо библиотекиoauth2client, которая теперь устарела.Помимо этого изменения, инструмент теперь предоставляет полные примеры кода для установленных приложений Python и приложений веб-сервера Python, которые используют несколько иные процессы авторизации. Чтобы увидеть полные примеры (и это изменение):
- Перейдите к интерактивному инструменту фрагментов кода или к документации по любому методу API, например, к методу
channels.list. - Нажмите вкладку
Pythonнад примерами кода. - Нажмите на переключатель над вкладками, чтобы переключиться с просмотра фрагмента на полный образец.

- Теперь на вкладке должен отображаться полный пример кода, использующий процесс авторизации
InstalledAppFlow. Описание над примером поясняет это и содержит ссылку на пример для приложения веб-сервера. - Нажмите на ссылку, чтобы перейти к примеру веб-сервера. В этом примере используется фреймворк веб-приложений Flask и другой процесс авторизации.
Все эти примеры предназначены для загрузки и локального запуска. Если вы хотите запустить примеры, см. инструкции по локальному запуску полных примеров кода в руководстве по использованию инструмента фрагментов кода.
- Перейдите к интерактивному инструменту фрагментов кода или к документации по любому методу API, например, к методу
29 августа 2017 г.
Это обновление содержит следующие изменения:
- The definition of the
search.listmethod'sforContentOwnerparameter has been updated to note that if that parameter is set totrue, thetypeparameter must be set tovideo. - The definition of the
search.listmethod'sregionCodeparameter has been updated to clarify that the parameter restricts search results to videos that can be viewed in the specified region. - YouTube has updated its branding logos and icons. New "developed with YouTube" logos can be downloaded from the branding guidelines page. Other new YouTube logos and icons are also shown on that page and can be downloaded from the YouTube brand site .
24 июля 2017 г.
This update contains the following changes:
- A new YouTube Data API quickstart guide is available for iOS . The guide explains how to use the YouTube Data API in a simple iOS application written in either Objective-C or Swift.
- The interactive code snippet tool for the YouTube Data API now includes documentation explaining some of the tool's features:
- Executing API requests
- Toggling between code snippets and full code samples
- Using boilerplate functions
- Loading existing resources (for update methods)
Note: The tool is also embedded in API reference documentation for API methods ( example ).
1 июня 2017 г.
This update contains the following changes:
Note: This is a deprecation announcement.
The following
videoresource properties are being deprecated. While the properties will be supported until December 1, 2017, there is no guarantee that videos will continue to return values for those properties until that time. Similarly,videos.insertandvideos.updaterequests that set those property values will not generate errors before that date, but it is possible that the incoming data will not be stored.
17 мая 2017 г.
This update contains the following changes:
The API reference documentation has been updated to make code snippets more ubiquitous and interactive. Pages that explain API methods, like
channels.listorvideos.rate, now feature an interactive tool that lets you view and customize code snippets in Java, JavaScript, PHP, Python, Ruby, Apps Script, and Go.For any given method, the tool shows code snippets for one or more use cases, and each use case describes a common way of calling that method. For example, you can call the
channels.listmethod to retrieve data about a specific channel or about the current user's channel.You can also interact with code samples:
Modify parameter and property values, and the code snippets dynamically update to reflect the values you provide.
Toggle between code snippets and full samples. A code snippet shows the portion of the code that calls the API method. A full sample contains that snippet as well as boilerplate code for authorizing and sending requests. Full samples can be copied and run from the command line or a local web server.
Execute requests by clicking a button. (To execute requests, you need to authorize the tool to call the API on your behalf.)
Note that this tool has replaced the APIs Explorer on the pages where it is available. (Each page displays a link so that you also have the option of loading the request you are working on in the APIs Explorer.)
The Data API Code Snippets tool has also been updated with a new UI that offers all of the same features described above. The major new features available on this page are:
- Support for API requests that write data.
- Support for Java samples.
- More flexible and comprehensive boilerplate code for authorizing users and building API requests.
27 апреля 2017 г.
This update contains the following changes:
- New quickstart guides explain how to set up a simple application that makes YouTube Data API requests. Guides are currently available for Android , Apps Script , Go , Java , JavaScript , Node.js , PHP , Python , and Ruby .
30 марта 2017 г.
This update contains the following changes:
- The
channelresource's newtopicDetails.topicCategories[]property contains a list of Wikipedia URLs that describe the channel's content. The URLs correspond to the topic IDs returned in the resource'stopicDetails.topicIds[]property. - The
playlistItemresource's newcontentDetails.videoPublishedAtproperty identifies the time that the video was published to YouTube. The resource already contains thesnippet.publishedAtproperty, which identifies the time that the item was added to the playlist. - Like the
channelresource, thevideoresource now returns thetopicDetails.topicCategories[]property, which contains a list of Wikipedia URLs that describe the video's content. Forvideoresources, the URLs correspond to the topic IDs returned in the resource'stopicDetails.relevantTopicIds[]property. - The
videoresource's newcontentDetails.contentRating.mpaatRatingproperty identifies the rating that the Motion Picture Association of America gave to a movie trailer or preview.
27 февраля 2017 г.
As originally announced on August 11, 2016 , YouTube has switched the supported list of topic IDs to a curated list. The complete list of supported topic IDs is included in the topicDetails properties for channel and video resources as well as in the search.list method's topicId parameter.
Note that there are several changes to the curated list:
- The following topics have been added as subtopics of
Society:Имя topic ID Бизнес /m/09s1fЗдоровье /m/0kt51Военный /m/01h6rjПолитика /m/05qt0Религия /m/06bvp - The
Animated cartoontopic, previously a child ofEntertainment, has been removed. - The
Children's musictopic, previously a child ofMusic, has been removed.
As a result of this change, topics related to a video are now always returned in the video resource's topicDetails.relevantTopicIds[] property value.
29 ноября 2016 г.
This update contains the following changes:
There are three small changes to the list of topic IDs that will be supported as of February 10, 2017:
- The
Professional wrestlingcategory, which was previously a child of theSportscategory, is now a child ofEntertainment. - The
TV showscategory, which is a child ofEntertainment, is new. - The
Healthcategory, previously a child ofLifestyle, has been removed.
Also note that there are a few parent categories (
Entertainment,Gaming,Lifestyle,Music, andSports). Any video that is associated with a child category, likeTennis, will also be associated with the parent category (Sports).- The
10 ноября 2016 г.
This update contains the following changes:
As first announced on August 11, 2016 , the deprecation of Freebase and the Freebase API requires several changes related to topic IDs. Topic IDs identify topics associated with
channelandvideoresources, and you can also use thetopicIdsearch parameter to find channels or videos related to a particular topic.On February 10, 2017, YouTube will start returning a small set of topic IDs instead of the much more granular set of IDs returned thus far. In addition, note that channels and videos are not guaranteed to be associated with any topics, which is consistent with current API behavior.
So that you can prepare your API Clients for those changes, the definitions of the following API parameters and properties have been updated to list the topic IDs that will be supported after that time. Note that the list of categories is the same for all of the properties.
- The
channelresource'stopicDetails.topicIds[]property. - The
videoresource'stopicDetails.relevantTopicIds[]property. - The
search.listmethod'stopicIdparameter.
- The
Note: This is a deprecation announcement.
The following properties are being deprecated:
- The
channelresource'stopicDetails.topicIds[]property. This property will be supported until November 10, 2017. - The
videoresource'stopicDetails.relevantTopicIds[]property. This property will be supported until November 10, 2017. - The
videoresource'stopicDetails.topicIds[]property. This property will not contain values after February 10, 2017. (After that date, thetopicDetails.relevantTopicIds[]property value will identify all of the topics associated with a video.)
- The
Since Freebase has already been deprecated, the Searching with Freebase Topics guide has been removed from the documentation. That guide provided code samples to show how an application would work with the Freebase API.
In addition, several code samples related to topic IDs have been removed from the
search.listmethod's documentation.
2 ноября 2016 г.
This update contains the following changes:
New properties and parameters
The
videoresource contains several new properties:The
player.embedHtmlproperty contains an<iframe>tag that you can use to embed a player that plays the video. The newplayer.embedHeightandplayer.embedWidthproperties identify the dimensions of the embedded player. These properties are only returned if the API request specifies a value for at least one of themaxHeightormaxWidthparameters. Those two new parameters are explained later in this revision history entry.The new
hasCustomThumbnailproperty indicates whether the video uploader has provided a custom thumbnail image for the video. Note that this property is only visible to the video uploader.The new
fpbRatingReasons[]identifies reasons that the video received its FPB (South Africa) rating.The new
mcstRatingidentifies the rating that the video received in Vietnam.
The
videos.listmethod supports two new parameters,maxHeightandmaxWidth. You can use either parameter or both parameters when retrieving theplayerpart invideoresources.By default, the height of the
<iframe>returned in theplayer.embedHtmlproperty is 360px. The width adjusts to match the video's aspect ratio, thereby ensuring that the embedded player does not have black bars framing the video. So, for example, if a video's aspect ratio is 16:9, the player's width would be 640px.With the new parameters, you can specify that instead of the default dimensions, the embed code should use a height and/or width appropriate for your application layout. The API server scales the player dimensions as appropriate to ensure that the embedded player does not have black bars framing the video. Note that both parameters specify the maximum dimensions of the embedded player. Thus, if both parameters are specified, one dimension might still be smaller than the maximum amount allowed for that dimension.
For example, suppose a video has a 16:9 aspect ratio. Thus, the
player.embedHtmltag would contain a 640x360 player if themaxHeightormaxWidthparameter is not set.- If the
maxHeightparameter is set to720, and themaxWidthparameter is not set, the API would return a 1280x720 player. - If the
maxWidthparameter is set to960, and themaxHeightparameter is not set, the API would return a 960x540 player. - If the
maxWidthparameter is set to960, and themaxHeightparameter is set to450, the API would return an 800x450 player.
The new
player.embedHeightandplayer.embedWidthproperties, which are described above, identify the player's dimensions.- If the
Updates to existing methods, properties and parameters
The
channelSectionresource description has been updated to note that a channel can create a maximum of 10 shelves without setting targeting data and can create a maximum of 100 shelves with targeting data.In addition, the
channelSectionresource'stargetingproperty has been updated to reflect the fact that targeting options can only be set using the API. Targeting options are deleted if the channel section is modified using the user interface on the YouTube website.The definition of the
i18nLanguageresource'ssnippet.nameproperty has been corrected to reflect that the value represents a language's name as it is written in the language specified by thei18nLanguage.listmethod'shlparameter.The
playlistItemresource'scontentDetails.noteproperty has been updated to note that the property value's maximum length is 280 characters.The
playlistItemresource'scontentDetails.startAtandcontentDetails.endAtproperties have been deprecated. These fields are ignored if they are set inplaylistItems.insertorplaylistItems.updaterequests.The
playlistItems.deleteandplaylistItems.updatemethods now support theonBehalfOfContentOwnerparameter, which is already supported for several other methods. Requests that use that method also need to be authorized with a token that provides access to thehttps://www.googleapis.com/auth/youtubepartnerscope.The
search.listmethod'spublishedBeforeandpublishedAfterparameters have both been updated to indicate that the parameter values are inclusive. So, for example, if thepublishedBeforeparameter is set, the API returns resources created before or at the specified time.The
videoresource'scontentDetails.contentRating.grfilmRatingproperty supports three additional values:grfilmK12,grfilmK15, andgrfilmK18.The
videos.insertmethod description has been updated to note that the maximum file size for uploaded videos has increased from 64GB to 128GB.
New and updated errors
The API supports the following new errors:
Тип ошибки Подробности ошибки Описание forbidden (403)homeParameterDeprecatedThe activities.listmethod returns this error to indicate that the user's home page activity data is not available through this API. This error might occur if you set thehomeparameter totruein an unauthorized request.invalidValue (400)invalidContentDetailsThe playlistItems.insertmethod returns this error to indicate that thecontentDetailsobject in the request is invalid. One reason that this error occurs is that thecontentDetails.notefield is longer than 280 characters.forbidden (403)watchHistoryNotAccessibleThe playlistItems.listmethod returns this error to indicate that the request tried to retrieve "watch history" playlist items, but those cannot be retrieved using the API.forbidden (403)watchLaterNotAccessibleThe playlistItems.listmethod returns this error to indicate that the request tried to retrieve "watch later" playlist items, but those cannot be retrieved using the API.badRequest (400)uploadLimitExceededThe videos.insertmethod returns this error to indicate that the channel has exceeded the number of videos that it may upload.forbidden (403)forbiddenEmbedSettingThe videos.updatemethod returns this error to indicate that the API request attempts to set an invalid embed setting for the video. Note that some channels may not have permission to offer embedded players for live streams. See the YouTube Help Center for more information.The
playlistItems.insertmethod no longer returns an error if you insert a duplicate video into a playlist. That error previously occurred for some playlists, like favorite videos, that did not allow duplicates but are no longer supported. In general, playlists do allow duplicate videos.
Другие обновления
The revision history entry for September 15, 2016, has been updated to clarify that, whenever the
channelresource'scontentDetails.relatedPlaylists.watchHistoryandcontentDetails.relatedPlaylists.watchLaterproperties are included in a response, they always contain the valuesHLandWL, respectively. Moreover, those properties are only included if an authorized user is retrieving data about the user's own channel.
15 сентября 2016 г.
This update contains the following changes:
The August 11, 2016, revision history update discussed several changes related to topic IDs, including the fact that the set of supported topic IDs will change as of February 10, 2017. The list of topics that will be supported will be published by November 10, 2016.
The following changes are now in effect. Notice of these changes was given in the revision history update on August 11, 2016:
If the
activities.listmethod is called with thehomeparameter set totrue, the API response now contains items similar to what a logged-out YouTube user would see on the home page.This is a slight change that is intended to provide a better user experience than the behavior described in the revision history update on August 11, 2016. That update had stated that requests using the
homeparameter would return an empty list.The
channelresource'scontentDetails.relatedPlaylists.watchHistoryandcontentDetails.relatedPlaylists.watchLaterproperties now contain values ofHLandWL, respectively, for all channels.To be clear, these properties are only visible to an authorized user retrieving data about the user's own channel. The properties always contain the values
HLandWL, even for an authorized user retrieving data about the user's own channel. Thus, the watch history and watch later playlist IDs cannot be retrieved via the API.In addition, requests to retrieve playlist details (
playlists.list) or playlist items (playlistItems.list) for a channel's watch history or watch later playlist now return empty lists. This behavior is true for the new values,HLandWL, as well as for any watch history or watch later playlist IDs that your API Client may have already stored.
The
videoresource'sfileDetails.recordingLocationobject and its child properties are no longer returned. Previously, this data (like the parentfileDetailsobject) could only be retrieved by a video's owner.
11 августа 2016 г.
This update contains the following changes:
The newly published YouTube API Services Terms of Service ("the Updated Terms"), discussed in detail on the YouTube Engineering and Developers Blog , provides a rich set of updates to the current Terms of Service. In addition to the Updated Terms , which will go into effect as of February 10, 2017, this update includes several supporting documents to help explain the policies that developers must follow.
The full set of new documents is described in the revision history for the Updated Terms . In addition, future changes to the Updated Terms or to those supporting documents will also be explained in that revision history. You can subscribe to an RSS feed listing changes in that revision history from a link in that document.
The deprecation of Freebase and the Freebase API is causing several changes related to topic IDs. Topic IDs are used in the following API resources and methods:
- The
channelresource'stopicDetailspart identifies topics associated with the channel. - The
videoresource'stopicDetailspart identifies topics associated with the video. - The
search.listmethod'stopicIdparameter lets you search for videos or channels related to a particular topic.
The changes to these features are:
As of February 10, 2017, YouTube will start returning a small set of topic IDs instead of the much more granular set of IDs returned thus far. That set of supported topics will identify high-level categorizations like Sports or Basketball , but, for example, they will not identify specific teams or players. We will be announcing the set of supported topics so that you have time to prepare your application for this change.
Any Freebase topic IDs that you have already retrieved can be used to search for content until February 10, 2017. However, after that time, you will be able to use only the smaller set of topics identified in the previous item to retrieve search results by topic.
After February 10, 2017, if you try to search for results using a topic ID that is not in the smaller set of supported topic IDs, the API will return an empty result set.
- The
Several API fields and parameters are being deprecated effective September 12, 2016:
The
activities.listmethod'shomeparameter enabled an authorized user to retrieve the activity feed that would display on the YouTube home page for that user. Requests that use this parameter after September 12, 2016, will return an empty list.The
channelresource'scontentDetails.relatedPlaylists.watchHistoryandcontentDetails.relatedPlaylists.watchLaterproperties are only visible to an authorized user retrieving data about the user's own channel. After September 12, 2016, thecontentDetails.relatedPlaylists.watchHistorywill return a value ofHLand thecontentDetails.relatedPlaylists.watchLaterproperty will return a value ofWLfor all channels.Requests to retrieve playlist details (
playlists.list) for a channel's watch history or watch later playlist will return an empty list after September 12, 2016. Requests to retrieve playlist items (playlistItems.list) in either of those playlists will also return an empty list after that time. This is true for the new values,HLandWL, as well as for any watch history or watch later playlist IDs that your API Client may have already stored.The
videoresource'sfileDetails.recordingLocationobject or any of its child properties will no longer be returned after September 12, 2016. This data can only be retrieved by a video's owner since the parentfileDetailsobject can only be retrieved by a video owner.
13 июня 2016 г.
This update contains the following changes:
The
channelresource'scontentDetails.googlePlusUserIdproperty has been deprecated. Previously, the property was only present if the channel was associated with a Google+ profile. Following the deprecation, the property will no longer be included in anychannelresources.The
commentresource'ssnippet.authorGoogleplusProfileUrlproperty has been deprecated. Previously, the property was only present if the channel was associated with a Google+ profile. Following the deprecation, the property will no longer be included in anycommentresources.
Since neither of these properties will be returned following the deprecation, both properties have been removed from the corresponding resource documentation.
31 мая 2016 г.
This update contains the following changes:
The
subscriptions.listmethod's newmyRecentSubscribersparameter retrieves a list of the subscribers of the authenticated user's channel in reverse chronological order of the time that they subscribed to the channel.Note that the new parameter only supports retrieval of the most recent 1000 subscribers to the authenticated user's channel. To retrieve a complete list of subscribers, use the
mySubscribersparameter. That parameter, which does not return subscribers in a particular order, does not limit the number of subscribers that can be retrieved.The definition of the
snippet.thumbnails.(key)property has been updated for the activity , playlistItem , playlist , search result , thumbnail , and video resources to note that additional thumbnail image sizes are available for some videos.- The
standardimage is 640px wide and 480px tall. - The
maxresimage is 1280px wide and 720px tall.
- The
The definition of the
channelSection.listmethod'spartparameter has been updated to note that thetargetingpart can be retrieved at a cost of2quota units.The
videos.listmethod now returns a forbidden (403) error when an improperly authorized request tries to retrieve thefileDetails,processingDetails, orsuggestionsparts of avideoresource. Those parts are only available to the video's owner.
17 мая 2016 г.
The new Data API Code Snippets tool provides short code snippets for common YouTube Data API use cases. Code snippets are currently available for all read-only API methods in Apps Script, Go, JavaScript, PHP, Python, and Ruby.
For each method, the tool shows code samples for one or more use cases. For example, it provides five code snippets for the search.list method:
- List videos by keyword
- List videos by location
- List live events
- Search for the authenticated user's videos
- List related videos
For each use case, the tool displays the parameters used in the API request. You can modify the parameter values, in which case the tool updates the code snippets to reflect the parameter values that you provided.
Finally, the tool displays the API response to each request. If you have modified the request parameters, the API response is based on your provided parameter values. Note that you need to authorize the tool to submit requests on your behalf for API responses to display.
28 апреля 2016 г.
This update contains the following changes:
The
videoresource's newcontentDetails.projectionproperty specifies the video's projection format. Valid property values are360andrectangular.The
videoresource'srecordingDetails.locationandfileDetails.recordingLocationproperties have both been updated to explain the difference between the two properties:- The
recordingDetails.locationproperty identifies the location that the video owner wants to associate with the video. This location is editable, searchable on public videos, and might be displayed to users for public videos. - The
fileDetails.recordingLocationproperty value is immutable and represents the location associated with the original, uploaded video file. The value is only visible to the video owner.
- The
The definition of the
channelresource'scontentDetails.relatedPlaylists.favoritesproperty has been updated to note that the property value might contain a playlist ID that refers to an empty playlist and that cannot be fetched. This is due to the fact that favorite videos functionality has already been deprecated. Note that this property is not subject to the API deprecation policy .The definition of the
ineligibleAccounterror, which can be returned by thecomments.insert,comments.update,commentThreads.insert, orcommentThreads.updatemethod, has been updated to reflect that the error occurs when the YouTube account used to authorize the API request has not been merged with the user's Google account.
20 апреля 2016 г.
This update contains the following changes:
The definition of the
channels.updatemethod'spartparameter has been updated to note thatlocalizationsis also a valid value for that parameter.The Quota Usage section of the Getting Started guide has been updated to link to the Google Developer's Console, where you can see your actual quota and quota usage.
16 марта 2016 г.
This update contains the following changes:
Updates to existing resources and methods
The
channelBannerresource documentation has been updated to note that the recommended size for the uploaded channel banner image is 2560px by 1440px. The minimum size (2048px by 1152px) has not changed.The
channelresource's newsnippet.customUrlproperty identifies the custom URL associated with the channel. (Not all channels have custom URLs.) The YouTube Help Center explains eligibility requirements for getting a custom URL as well as how to set up the URL.The
channelresource'sbrandingSettings.watchobject and all of its child properties have been deprecated.The API response to a
search.listrequest now contains aregionCodeproperty. The property identifies the region code that was used for the search query. The region code instructs the API to return search results for the specified country.The property value is a two-letter ISO country code that identifies the region. The
i18nRegions.listmethod returns a list of supported regions. The default value isUS. If a non-supported region is specified, YouTube might still select another region, rather than the default value, to handle the query.The definitions of the
videoAbuseReportReasonresource'ssnippet.labelandsnippet.secondaryReasons[].labelproperties have been updated to note that the properties contain localized label text for the abuse report reasons.In addition, the
videoAbuseReportReasons.listmethod now supports thehlparameter, which specifies the language that should be used for label text in the API response. The default parameter value isen_US.The
videoresource's newcontentDetails.contentRating.ecbmctRatingproperty identifies a video's rating from Turkey's Evaluation and Classification Board of the Ministry of Culture and Tourism.In addition, API properties for other rating systems support the following new property values:
-
contentDetails.contentRating.fpbRating(South Africa)
Rating: 10; property value:fpb10 -
contentDetails.contentRating.moctwRating(Taiwan)
Rating: R-12; property value:moctwR12 -
contentDetails.contentRating.moctwRating(Taiwan)
Rating: R-15; property value:moctwR15
-
The
videoresource'sliveStreamingDetails.activeLiveChatIdproperty contains the ID of the active live chat associated with the video. The property value is only present if the video is a current live broadcast that has live chat enabled. After the broadcast ends and the live chat concludes, the property is no longer returned for the video.The
videoresource'sstatus.rejectionReasonproperty supports the new property valuelegal.
The API supports the following new errors:
Тип ошибки Подробности ошибки Описание badRequest (400)notEditableThe channelSections.insert,channelSections.update, andchannelSections.deletemethods return this error to indicate that the specified channel section cannot be created, updated, or deleted.badRequest (400)styleRequiredThe channelSections.insertandchannelSections.updatemethods return this error to indicate that thechannelSectionresource submitted in the API request must specify a value for thesnippet.styleproperty.badRequest (400)typeRequiredThe channelSections.insertandchannelSections.updatemethods return this error to indicate that thechannelSectionresource submitted in the API request must specify a value for thesnippet.typeproperty.badRequest (400)processingFailureThe commentThreads.listmethod returns this error to indicate that the API server failed to successfully process the request. While this can be a transient error, it usually indicates that the request's input is invalid. Check the structure of thecommentThreadresource in the request body to ensure that it is valid.forbidden (403)commentsDisabledThe commentThreads.listmethod returns this error to indicate that the video identified by thevideoIdparameter has disabled comments.badRequest (400)commentTextTooLongThe commentThreads.insertmethod returns this error to indicate that thecommentresource that is being inserted contains too many characters in thesnippet.topLevelComment.snippet.textOriginalproperty.invalidValue (400)videoAlreadyInAnotherSeriesPlaylistThe playlistItems.insertmethod returns this error to indicate that the video that you are trying to add to the playlist is already in another series playlist. See the YouTube Help Center for more information about series playlists.badRequest (400)subscriptionForbiddenThe subscriptions.insertmethod returns this error to indicate that you have reached your maximum number of subscriptions or that you have created too many recent subscriptions. In the latter case, you can retry the request after a few hours.badRequest (400)invalidCategoryIdThe videos.updatemethod returns this error to indicate that thesnippet.categoryIdproperty in the uploadedvideoresource specified an invalid category ID. Use thevideoCategories.listmethod to retrieve supported categories.badRequest (400)invalidDescriptionThe videos.updatemethod returns this error to indicate that thesnippet.descriptionproperty in the uploadedvideoresource specified an invalid value.badRequest (400)invalidPublishAtThe videos.updatemethod returns this error to indicate that thestatus.publishAtproperty in the uploadedvideoresource specified an invalid scheduled publishing time.badRequest (400)invalidRecordingDetailsThe videos.updatemethod returns this error to indicate that therecordingDetailsobject in the uploadedvideoresource specified invalid recording details.badRequest (400)invalidTagsThe videos.updatemethod returns this error to indicate that thesnippet.tagsproperty in the uploadedvideoresource specified an invalid value.badRequest (400)invalidTitleThe videos.updatemethod returns this error to indicate that thesnippet.titleproperty in the uploadedvideoresource specified an invalid or empty video title.badRequest (400)invalidVideoMetadataThe videos.updatemethod returns this error to indicate that the request metadata is invalid. This error occurs if the request updates thesnippetpart of avideoresource but does not set a value for both thesnippet.titleandsnippet.categoryIdproperties.
18 декабря 2015 г.
European Union (EU) laws require that certain disclosures must be given to and consents obtained from end users in the EU. Therefore, for end users in the European Union, you must comply with the EU User Consent Policy . We have added a notice of this requirement in our YouTube API Terms of Service .
19 ноября 2015 г.
The API now supports the ability to set and retrieve localized text for the snippet.title and snippet.description properties of the playlist and video resources, the snippet.title property of the channelSection resource, and the snippet.description property of the channel resource.
Setting localized titles and descriptions
You can set localized values for a resource when calling the
insertorupdatemethod for that resource. To set localized values for a resource, do both of the following:Ensure that a value is set for the resource's
snippet.defaultLanguageproperty. That property identifies the language of the resource'ssnippet.titleandsnippet.descriptionproperties. Its value can be any supported application language or most other ISO 639-1:2002 language codes. For example, if you upload a video that has an English title and description, you would set thesnippet.defaultLanguageproperty toen.Note for updating
channelresources: To set thesnippet.defaultLanguageproperty for achannelresource, you actually need to update thebrandingSettings.channel.defaultLanguageproperty.Add the
localizationsobject to the resource you are updating. Each object key is a string that identifies an application language or ISO 639-1:2002 language code, and each key maps to an object that contains the localized title (and description) for the resource.The sample snippet below sets the resource's default language to English. It also adds localized German and Spanish titles and descriptions to a video:
{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", ... }, "localizations": "de": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" }, "es": { "title": "Jugar al fútbol", "description": "Nosotros jugamos fútbol en el parque los domingos", } } }
Important: Remember that when you update the localized data for a resource, your API request must include all of the existing localized versions of the data. For example, if you sent a subsequent request to add Portuguese data to the video in the example above, the request would need to include the localized data for German, Spanish, and Portuguese.
Retrieving localized values
The API supports two ways to retrieve localized values for a resource:
Add the
hlparameter to yourchannels.list,channelSections.list,playlists.list, orvideos.listrequest to retrieve localized data for a specific application language that the YouTube website supports . If localized resource details are available in that language, the resource'ssnippet.localizedobject will contain the localized values. However, if localized details are not available, thesnippet.localizedobject will contain resource details in the resource's default language .For example, suppose a
videos.listrequest retrieved data for the video described above with localized German and Spanish data. If thehlparameter were set tode, the resource would contain the following data:{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", "localized": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" } ... } }However, if the
hlparameter were set tofr, thesnippet.localizedobject would contain the English title and description because English is the default language for the resource, and localized French details are not available.Important: Thehlparameter only supports values that identify application languages that the YouTube website supports. To determine whether localized text is available for other languages, you need to retrieve thelocalizationspart for the resource and filter to determine whether the localized text exists.
For example, you would need to retrieve the full list of localizations to determine whether localized text is available in Appalachian English.When retrieving a resource, include
localizationsin thepartparameter value to retrieve all of the localized details for that resource. If you are retrieving localized data for a language that is not a current YouTube application language , you need to use this approach to retrieve all localizations and then filter to determine whether the desired localized data exists.
Errors related to localized text values
The API also supports the following new errors for localized text values:
Тип ошибки Подробности ошибки Описание badRequest (400)defaultLanguageNotSetErrorThis error indicates that a request that tries to insert or update the localizationsobject for a resource is failing because thesnippet.defaultLanguageproperty is not set for that resource. Thechannels.update,channelSections.insert,channelSections.update,playlists.insert,playlists.update,videos.insert, andvideos.updatemethods support this error.badRequest (400)localizationValidationErrorThis error indicates that one of the values in a resource's localizationsobject failed to validate. For example, this error might occur if the object contains an invalid language code. Thechannels.update,channelSections.insert,channelSections.update,playlists.insert, andplaylists.updatemethods support this error.
4 ноября 2015 г.
This update contains the following changes:
Updates to existing resources and methods
The
search.listmethod'sorderparameter has been updated to note that if you sort live broadcasts byviewCount, the API results are sorted by the broadcasts' number of concurrent viewers while the broadcasts are still ongoing.The
search.listmethod'srelatedToVideoIdparameter has been updated to note that if the parameter is set, the only other supported parameters arepart,maxResults,pageToken,regionCode,relevanceLanguage,safeSearch,type(which must be set tovideo), andfields. This update does not reflect a change in API behavior.The definition of the
videoresource'ssnippet.publishedAtproperty has been updated to note that the property value, which specifies the date and time that the video was published, might be different than the time that the video was uploaded. For example, if a video is uploaded as a private video and then made public at a later time, the property value specifies the time that the video was made public. The updated definition also explains how the value is populated for private and unlisted videos.This change does not reflect a change in API behavior.
The definition of the
videoresource'sstatus.publishAtproperty has been updated to note:- If you set this property's value when calling the
videos.updatemethod, you must also set thestatus.privacyStatusproperty value toprivateeven if the video is already private. - If the request schedules a video to be published at some time in the past, it is published right away. As such, the effect of setting the
status.publishAtproperty to a past date and time is the same as of changing the video'sprivacyStatusfromprivatetopublic.
- If you set this property's value when calling the
The
videoresource'scontentDetails.contentRating.cncRatingproperty specifies the video's rating from France's Commission de classification cinematographique. This property replaces thecontentDetails.contentRating.fmocRatingproperty, which is now deprecated.The definition of the
channelresource'sbrandingSettings.channel.keywordshas been updated to correctly reflect that the property value contains a space-separated list of strings and not a comma-separated list, as previously documented. This update does not reflect a change in API behavior.The documentation for the
thumbnails.setmethod has been updated to accurately reflect that the body of the request contains the thumbnail image that you are uploading and associating with a video. The request body does not contain athumbnailresource. Previously, the documentation said that you should not provide a request body when calling this method. This update does not reflect a change in API behavior.The description of the
activityresource has been updated to reflect the fact that theactivities.listmethod does not currently include resources related to new video comments. The resource'ssnippet.typeandcontentDetails.commenthave been updated as well.
New and updated errors
The API now supports the following errors:
Подробности ошибки activities.insertHTTP-код ответа badRequest (400)Причина invalidMetadataОписание The kindproperty does not match the type of ID provided.commentThreads.updatecomments.insertcomments.updateHTTP-код ответа badRequest (400)Причина commentTextTooLongОписание The commentresource that is being inserted or updated contains too many characters in thesnippet.topLevelComment.snippet.textOriginalproperty.playlistItems.insertplaylistItems.updateHTTP-код ответа forbidden (403)Причина playlistItemsNotAccessibleОписание The request is not properly authorized to insert, update, or delete the specified playlist item. playlists.deleteplaylists.insertplaylists.updateHTTP-код ответа badRequest (400)Причина playlistForbiddenОписание This operation is forbidden or the request is not properly authorized. search.listHTTP-код ответа badRequest (400)Причина invalidLocationОписание The locationand/orlocationRadiusparameter value was formatted incorrectly.search.listHTTP-код ответа badRequest (400)Причина invalidRelevanceLanguageОписание The relevanceLanguageparameter value was formatted incorrectly.subscriptions.insertHTTP-код ответа badRequest (400)Причина subscriptionForbiddenОписание This error occurs when any of the following are true: - The subscription that you are trying to create already exists
- You have already reached your maximum number of subscriptions
- You are trying to subscribe to your own channel, which is not supported.
- You have created too many subscriptions recently and need to wait a few hours before retrying the request.
videos.updateHTTP-код ответа badRequest (400)Причина invalidDefaultBroadcastPrivacySettingОписание The request attempts to set an invalid privacy setting for the default broadcast.
28 августа 2015 г.
This update contains the following changes:
Updates to existing resources and methods
The
videoresource'sstatistics.favoriteCountproperty has been deprecated.In accordance with our deprecation policy, this property will continue to be included in
videoresources for at least one year after this announcement. However, the property value is now always set to0.
7 августа 2015 г.
This update contains the following changes:
Updates to existing resources and methods
The definition of the
videoresource'ssnippet.tags[]property has been updated to provide more information about how the API server calculates the length of the property's value. Note that this update does not reflect a change in the API's behavior.Specifically, the definition now explains that if a tag contains a space, the API server handles the tag value as though it were wrapped in quotation marks, and the quotation marks count toward the character limit. So, for the purposes of character limits, the tag Foo-Baz contains seven characters, but the tag Foo Baz contains nine characters.
The
commentThreads.insertmethod no longer supports theshareOnGooglePlusparameter, which previously indicated whether a comment and replies to that comment should also be posted to the author's Google+ profile. If a request submits the parameter, the API server ignores the parameter but otherwise handles the request.
18 июня 2015 г.
This update contains the following changes:
Updates to existing resources and methods
The
commentThreads.listmethod's neworderparameter specifies the order in which the API response should list comment threads. Threads can be ordered by time or relevance. The default behavior is to order them by time.The
videoresource's newsnippet.defaultAudioLanguageproperty specifies the language spoken in the video's default audio track.The definition of the
videoresource'scontentDetails.licensedContentproperty has been updated to clarify that the content must have been originally uploaded to a channel linked to a YouTube content partner and then claimed by that partner. This does not represent a change in actual API behavior.The
captions.delete,captions.download,captions.insert,captions.list, andcaptions.updatemethods now support theonBehalfOfContentOwnerparameter, which is already supported for several other methods. Requests that use that method also need to be authorized with a token that provides access to thehttps://www.googleapis.com/auth/youtubepartnerscope.
New and updated errors
The API now supports the following errors:
Подробности ошибки videos.rateHTTP-код ответа badRequest (400)Причина emailNotVerifiedОписание The user must verify her email address prior to rating the video. videos.rateHTTP-код ответа badRequest (400)Причина videoPurchaseRequiredОписание Rental videos can only be rated by users who rented them. The
subscriptions.deleteandsubscriptions.insertmethods no longer support theaccountClosedandaccountSuspendederrors.
April 27, 2015
This update contains the following changes:
New resources and methods
The new
videoAbuseReportReasonresource contains information about a reason that a video would be flagged for containing abusive content. ThevideoAbuseReportReasons.listmethod lets you retrieve a list of all of the reasons why videos might be flagged.The new
videos.reportAbusemethod provides a way to actually flag a video that contains abusive content. The body of the request contains a JSON object that specifies the video being flagged as well as the reason that the video is deemed to contain abusive content. Valid reasons can be obtained from thevideoAbuseReportReason.listmethod described above.The migration guide has also been updated with an example for reporting an abusive video. With this change, the v3 API now supports all of the v2 API features that it is scheduled to support. These features are also all explained in the migration guide.
Updates to existing resources and methods
The
search.listmethod's newforDeveloperfilter parameter restricts a search to only retrieve videos uploaded via the developer's application or website. TheforDeveloperparameter can be used in conjunction with optional search parameters like theqparameter.For this feature, each uploaded video is automatically tagged with the project number that is associated with the developer's application in the Google Developers Console .
When a search request subsequently sets the
forDeveloperparameter totrue, the API server uses the request's authorization credentials to identify the developer. Therefore, a developer can restrict results to videos uploaded through the developer's own app or website but not to videos uploaded through other apps or sites.The new feature offers functionality that is similar, albeit not identical, to the developer tags functionality that the v2 API supported.
The
channelresource's newsnippet.countryproperty lets channel owners associate their channels with a particular country.Note: To set the
snippet.countryproperty for achannelresource, you actually need to update thebrandingSettings.channel.countryproperty.The API now supports targeting for
channelSectionresources. Channel section targeting provides a way to restrict visibility of a content section to users that match particular criteria.The API exposes three targeting options. A user must meet all of the targeting settings for a channel section to be visible.
targeting.languages[]: A list of YouTube application languages . Users who have chosen one of those languages can see the corresponding channel section.targeting.regions[]: A list of YouTube preferred content regions . The channel section is visible to users that have selected one of those regions as well as users for whom one of those regions is automatically selected.targeting.countries[]: A list of countries where the channel section is visible. Each value in the list is an ISO 3166-1 alpha-2 country code .
The definition of the
videoresource'scontentDetails.durationproperty has been corrected to reflect that the value can reflect hours, days, and so forth.The documentation for the
channelSections.delete,playlistItems.delete,playlists.delete,subscriptions.delete, andvideos.deletemethod has been corrected to reflect that, when successful, those methods all return an HTTP204response code (No Content).
New and updated errors
The API now supports the following errors:
Тип ошибки Подробности ошибки Описание badRequest (400)targetInvalidCountryThe channelSections.insertandchannelSections.updatemethods return this error if the insertedchannelSectionresource contained an invalid value for thetargeting.countries[]property.badRequest (400)targetInvalidLanguageThe channelSections.insertandchannelSections.updatemethods return this error if the insertedchannelSectionresource contained an invalid value for thetargeting.languages[]property.badRequest (400)targetInvalidRegionThe channelSections.insertandchannelSections.updatemethods return this error if the insertedchannelSectionresource contained an invalid value for thetargeting.regions[]property.badRequest (400)operationNotSupportedThe comments.insertmethod returns this error if the API user is not able to insert a comment in reply to the top-level comment identified by thesnippet.parentIdproperty. In acommentThreadresource, thesnippet.canReplyproperty indicates whether the current viewer can reply to the thread.badRequest (400)invalidChannelIdThe search.listmethod returns this error if thechannelIdparameter in the request specified an invalid channel ID.badRequest (400)subscriptionForbiddenThe subscriptions.insertmethod returns this error if the API user tries to subscribe to the user's own channel.The
captions.updatemethod no longer supports theinvalidMetadataandvideoNotFounderrors.
16 апреля 2015 г.
This update contains the following changes:
The migration guide has been updated to explain how to migrate applications still using comments functionality from the v2 API.
The guide also calls out several commenting features that the v2 API did not support but that are supported in the v3 API . These include:
- Retrieving comments about a channel
- Retrieving all comment threads related to a channel, which means that the API response can contain comments about the channel or any of its videos.
- Updating the text of a comment
- Marking a comment as spam
- Setting a comment's moderation status
The Subscribing to push notifications guide has been updated to reflect the fact that notifications are only pushed to the Google PubSubHubBub hub and not also to the Superfeedr hub as previously indicated.
9 апреля 2015 г.
This update contains the following changes:
The API's new
commentThreadandcommentresources let you retrieve, insert, update, delete, and moderate comments.A
commentThreadresource contains information about a YouTube comment thread, which comprises a top-level comment and replies, if any exist, to that comment. AcommentThreadresource can represent comments about either a video or a channel.The top-level comment and the replies are actually
commentresources that are nested inside thecommentThreadresource. It is important to note that thecommentThreadresource does not necessarily contain all replies to a comment, and you need to use thecomments.listmethod if you want to retrieve all replies for a particular comment. In addition, some comments do not have replies.The API supports the following methods for
commentThreadresources:-
commentThreads.list– Retrieve a list of comment threads. Use this method to retrieve comments associated with a particular video or channel. -
commentThreads.insert– Create a new top-level comment. (Use thecomments.insertmethod to reply to an existing comment.) -
commentThreads.update– Modify a top-level comment.
-
A
commentresource contains information about a single YouTube comment. Acommentresource can represent a comment about either a video or a channel. In addition, the comment could be a top-level comment or a reply to a top-level comment.The API supports the following methods for
commentresources:-
comments.list– Retrieve a list of comment. Use this method to retrieve all of the replies to a particular comment. -
comments.insert– Create a reply to an existing comment. -
comments.update– Modify a comment. -
comments.markAsSpam– Flag one or more comments as spam. -
comments.setModerationStatus– Set the moderation status of one or more comments. For example, clear a comment for public display or reject a comment as unfit for display. The API request must be authorized by the owner of the channel or video associated with the comments.. -
comments.delete– Delete a comment.
-
Note that the API's new
https://www.googleapis.com/auth/youtube.force-sslscope, described in the revision history for April 2, 2015 , is required for calls to thecomments.insert,comments.update,comments.markAsSpam,comments.setModerationStatus,comments.delete,commentThreads.insert, andcommentThreads.updatemethods.The new Subscribing to push notifications guide explains the API's new support for push notifications via PubSubHubBub , a server-to-server publish/subscribe protocol for Web-accessible resources. Your PubSubHubBub callback server can receive Atom feed notifications when a channel does any of the following activities:
- uploads a video
- updates a video's title
- updates a video's description
The migration guide has also been updated to note the new support for push notifications. However, since the v2 API supported numerous other types of push notifications that are not supported in the v3 API, the mention of PubSubHubBub support is still listed in the Deprecated section of that guide.
The API's new
https://www.googleapis.com/auth/youtube.force-sslscope is now a valid scope for any API method that previously supported thehttps://www.googleapis.com/auth/youtubescope.The API now supports the following errors:
Тип ошибки Подробности ошибки Описание badRequest (400)invalidRatingThe videos.ratemethod returns this error if the request contained an unexpected value for theratingparameter.The
subscriptions.insertmethod no longer supports thesubscriptionLimitExceedederror, which previously indicated that the subscriber identified with the request had exceeded the subscription rate limit.
2 апреля 2015 г.
This update contains the following changes:
The new
captionsresource represents a YouTube caption track. A caption track is associated with exactly one YouTube video.The API supports methods to list , insert , update , download , and delete caption tracks.
The migration guide has also been updated to explain how to migrate applications still using captions functionality in the v2 API.
The API's new
https://www.googleapis.com/auth/youtube.force-sslscope requires communication with the API server to happen over an SSL connection.This new scope grants the same access as the
https://www.googleapis.com/auth/youtubescope. And, in fact, those two scopes are functionally identical because the YouTube API server is only available via an HTTPS endpoint. As a result, even though thehttps://www.googleapis.com/auth/youtubescope does not require an SSL connection, there is actually no other way to make an API request.The new scope is required for calls to the all of the
captionresource's methods.
11 марта 2015 г.
This update contains the following changes:
The YouTube Data API (v3) migration guide contains a new tab, named New in the v3 API , that lists features that the v3 API does support and that the v2 API did not support. The same features were previously and are still listed in other tabs in the guide. For example, the new feature explaining how to update a channel's in-video promotional campaign data is also listed under the Channels (profiles) tab.
The YouTube Data API (v3) migration guide has been updated to note that the v3 API will support the following v2 API feature:
The YouTube Data API (v3) migration guide has been updated to note that the following v2 API features will not be supported in the v3 API:
Retrieve video recommendations – The v3 API does not retrieve a list that only contains videos recommended for the current API user. However, you can use the v3 API to find recommended videos by calling the
activities.listmethod and setting thehomeparameter value totrue.In the API response, a resource corresponds to a recommended video if the
snippet.typeproperty's value isrecommendation. In that case, thecontentDetails.recommendation.reasonandcontentDetails.recommendation.seedResourceIdproperties will contain information about why the video was recommended. Note that there is no guarantee that the response will contain any particular number of recommended videos.Retrieve new subscription videos – The v3 API does not retrieve a list that only contains videos that have recently been uploaded to channels that the API user subscribes to. However, you can use the v3 API to find new subscription videos by calling the
activities.listmethod and setting thehomeparameter value totrue.In the API response, a resource corresponds to a new subscription video if the
snippet.typeproperty's value isupload. Note that there is no guarantee that the response will contain any particular number of new subscription videos.Push notifications for feed updates – The v2 API supported push notifications, using either the Simple Update Protocol (SUP) or PubSubHubbub , to monitor user activity feeds for YouTube users. Notifications were provided for new channel subscriptions and when videos were rated, shared, marked as favorites, commented on, or uploaded.
The v3 API will support push notifications using the PubSubHubbub protocol , but the notifications will only cover video uploads and updates to video titles or video descriptions.
Channel location – The v2 API used the
<yt:location>tag to identify the user's location as entered in the channel's YouTube public profile. While some developers used this field to associate a channel with a particular country, the field's data could not consistently be used for that purpose.Set or retrieve developer tags – The v2 API supported the ability to associate keywords, or developer tags, with a video at the time that the video was uploaded. Developer tags would not be displayed to YouTube users, but video owners could retrieve videos that matched a specific developer tag.
The v3 API will provide a similar, but not identical, feature. Specifically, a developer will be able to search for videos uploaded by the developer's own application. For this feature, each uploaded video is automatically tagged with the project number that is associated with the developer's application in the Google Developers Console . The developer then uses the same project number to search for videos.
List videos by publication date, viewcount, or rating – In the v2 API, the
orderbyparameter let you sort videos in a playlist by position, duration, publication date, title, and several other values. In the v3 API, playlist items are typically sorted by position in ascending order and other sorting options are not available.There are a few exceptions. A new upload, favorite video, liked video, or recently watched video is automatically added as the first item (
snippet.position=0) for the following types of playlists. So, each of these lists is effectively sorted in order of newest to oldest item based on the times that items were added to the list.- user uploads
- favorite videos
- понравившиеся видео
- история часов
Note, however, that a new item added to the "Watch later" playlist is added as the last item in that list, so that list is effectively sorted from oldest to newest item.
Batch processing – The v3 API supports one of the batch processing use cases that the v2 API had supported. The v3 API's
channels.list,channelSections.list,guideCategories.list,playlistItems.list,playlists.list,subscriptions.list,videoCategories.list, andvideos.listmethods all support anidparameter, which can be used to specify a comma-delimited list of IDs (video IDs, channel IDs, etc.). Using those methods, you can retrieve a list of multiple resources with a single request.
With these changes, the guide now identifies all functionality that was supported in the old (v2) API that will be deprecated in the current API version (v3).
4 марта 2015 г.
This update contains the following changes:
The
channelSections.deleteandchannelSections.updatemethods now support theonBehalfOfContentOwnerparameter, which is already supported for several other methods.The following properties and their child properties have been deprecated:
-
brandingSettings.image.backgroundImageUrl -
brandingSettings.image.largeBrandedBannerImageImapScript -
brandingSettings.image.largeBrandedBannerImageUrl -
brandingSettings.image.smallBrandedBannerImageImapScript -
brandingSettings.image.smallBrandedBannerImageUrl
Note: None of these properties had been subject to the API Deprecation Policy.
-
The
videoresource's newcontentDetails.contentRating.contentDetails.contentRating.djctqRatingReasonsproperty identifies the reasons that explain why the video received its DJCQT (Brazil) rating.The API now supports the following errors:
Тип ошибки Подробности ошибки Описание notFound (404)channelNotFoundThe channels.updatemethod returns this error if the request'sidparameter specifies a channel that cannot be found.badRequest (400)manualSortRequiredinvalidValueThe playlistItems.insertandplaylistItems.updatemethods return this error if the request attempts to set the playlist item's position, but the playlist does not use manual sorting. For example, playlist items might be sorted by date or popularity. You can address this error by removing thesnippet.positionelement from the resource sent in the request body. If you want the playlist item to have a specific position in the list, you need to first update the playlist's ordering setting to Manual . THis setting can be adjusted in the YouTube Video Manager .forbidden (403)channelClosedThe playlists.listmethod returns this error if the request'schannelIdparameter specifies a channel that has been closed.forbidden (403)channelSuspendedThe playlists.listmethod returns this error if the request'schannelIdparameter specifies a channel that has been suspended.forbidden (403)playlistForbiddenThe playlists.listmethod returns this error if the request'sidparameter does not support the request or the request is not properly authorized.notFound (404)channelNotFoundThe playlists.listmethod returns this error if the request'schannelIdparameter specifies a channel that cannot be found.notFound (404)playlistNotFoundThe playlists.listmethod returns this error if the request'sidparameter specifies a playlist that cannot be found.notFound (404)videoNotFoundThe videos.listmethod returns this error if the request'sidparameter specifies a video that cannot be found.badRequest (400)invalidRatingThe videos.ratemethod returns this error if the request contains an unexpected value for theratingparameter.
2 марта 2015 г.
This update contains the following changes:
The
search.listmethod now supports therelevanceLanguageparameter, which lets you request results that are most relevant to a particular language.The YouTube Data API (v3) migration guide has also been updated to explain how to use this new parameter. The parameter addresses a feature gap that previously existed between the current API version (v3) and the previous version (v2), which has already been deprecated.
The YouTube Data API (v3) migration guide has also been updated to indicate the deprecation of the special feeds and metadata fields that the v2 API provided for describing movies, trailers, television shows, television seasons, and television episodes.
14 января 2015 г.
This update contains the following changes:
The YouTube Data API (v3) migration guide has been updated to explain how to use the v3 API to upload videos using JavaScript. (See the Upload a video section for details.) This functionality is comparable to the browser-based uploading functionality that the v2 API supports. Note that this change to the migration guide does not reflect an actual API change but rather the availability of new sample code for uploading videos with client-side JavaScript.
Given the support for uploading videos with the JavaScript client library and CORS, the migration guide no longer lists browser-based uploading as a feature that may be deprecated in the v3 API.
The documentation for the
videos.insertmethod has been updated to include the new JavaScript code sample described above. The list of JavaScript code samples for the YouTube Data API (v3) has also been updated.
11 ноября 2014 г.
This update contains the following changes:
The quota cost for a call to the
search.listmethod has changed to 100 units.Important: In many cases, you can use other API methods to retrieve information at a lower quota cost. For example, consider these two ways of finding videos uploaded to the GoogleDevelopers channel.
Quota cost: 100 units
Call the
search.listmethod and search forGoogleDevelopers.Quota cost: 6 units
Call the
channels.listmethod to find the right channel ID. Set theforUsernameparameter toGoogleDevelopersand thepartparameter tocontentDetails. In the API response, thecontentDetails.relatedPlaylists.uploadsproperty specifies the playlist ID for the channel's uploaded videos.Then call the
playlistItems.listmethod and set theplaylistIdparameter to the captured ID and thepartparameter tosnippet.
8 октября 2014 г.
This update contains the following changes:
The
channelresource contains two new properties:The
status.longUploadsStatusproperty indicates whether the channel is eligible to upload videos that are more than 15 minutes long. This property is only returned if the channel owner authorized the API request. Valid property values are:-
allowed– The channel can upload videos more than 15 minutes long. -
eligible– The channel is eligible to upload videos more than 15 minutes long but must first enable the feature. -
disallowed– The channel is not able or eligible to upload videos more than 15 minutes long.
See the property definition for more information about these values. The YouTube Help Center also provides more detailed information about this feature.
-
The
invideoPromotion.useSmartTimingproperty indicates whether the channel's promotional campaign uses "smart timing." This feature attempts to show promotions at a point in the video when they are more likely to be clicked and less likely to disrupt the viewing experience. This feature also picks up a single promotion to show on each video.
The definitions of the
videoresource'ssnippet.titleandsnippet.categoryIdproperties have both been updated to clarify the way that API handles calls to thevideos.updatemethod. If you call that method to update thesnippetpart of avideoresource, you must set a value for both of those properties.If you try to update the
snippetpart of avideoresource and do not set a value for both of those properties, the API returns aninvalidRequesterror. That error's description has also been updated.The
videoresource'scontentDetails.contentRating.oflcRatingproperty, which identifies a video's rating from New Zealand's Office of Film and Literature Classification, now supports two new ratings:oflcRp13andoflcRp16. These correspond to theRP13andRP16ratings, respectively.The
channelBanners.insertmethod now supports the following error:Тип ошибки Подробности ошибки Описание badRequestbannerAlbumFullThe channel owner's YouTube Channel Art album has too many images. The channel owner should go to http://photos.google.com , navigate to the albums page, and remove some from images from that album.
12 сентября 2014 г.
This update contains the following changes:
The quota cost for a call to the
search.listmethod has changed from 1 unit to 2 units in addition to the cost of the specified resource parts .
13 августа 2014 г.
This update contains the following changes:
The
subscriptions.insertmethod now supports the following error:Тип ошибки Подробности ошибки Описание badRequestsubscriptionLimitExceededThe subscriber identified with the request has exceeded the subscription rate limit. More subscriptions can be attempted in a few hours.
12 августа 2014 г.
This update contains the following changes:
A new guide, titled Migrating Your Application to YouTube Data API (v3) , explains how to use the YouTube Data API (v3) to perform functionality available in the YouTube Data API (v2). The older API was officially deprecated as of March 4, 2014. The guide intends to help you migrate applications still using the v2 API to the most recent API version.
8 июля 2014 г.
This update contains the following changes:
The
playlists.insertmethod now supports the following error:Тип ошибки Подробности ошибки Описание badRequestmaxPlaylistExceededThis error occurs if a playlist cannot be created because the channel already has the maximum number of playlists allowed.
18 июня 2014 г.
This update contains the following changes:
The description of each API method has been updated to include the quota cost incurred by a call to that method. Similarly, the definitions of
partparameters have been updated to specify the quota cost of each part that can be retrieved in an API call. For example, a call to thesubscriptions.insertmethod has a quota cost of approximately 50 units. Thesubscriptionresource also contains three parts (snippet,contentDetails, andsubscriberSnippet), and each of those has a cost of two units.Please remember that quota costs can change without warning.
The
videoresource now supports 43 new content rating systems, which identify the ratings that videos received from various national rating agencies. The newly supported rating systems are from Argentina , Austria , Belgium , Bulgaria , Chile ( television ), Chile ( film ), Czech Republic , Colombia , Denmark , Egypt , Estonia , Finland , France , Greece , Hong Kong , Iceland , Indonesia , Ireland , Israel , Italy , Kenya , Latvia , Luxembourg , Malaysia , Maldives , Malta , Netherlands , Nigeria , Norway , Peru , Philippines , Portugal , Romania , Singapore , Slovakia , South Africa , Sweden , Switzerland , Taiwan , Thailand , and Venezuela .
28 мая 2014 г.
This update contains the following changes:
The
search.listmethod now supports thelocationandlocationRadiusparameters, which let you search for videos associated with a geographic location. A request must specify a value for both parameters to retrieve results based on location, and the API will return an error if a request includes only one of the two parameters.The
locationparameter specifies the latitude/longitude coordinates at the center of the circular geographic area.The
locationRadiusparameter specifies the maximum distance that the location associated with a video can be from the center of the area for the video to still be included in search results.
13 мая 2014 г.
This update contains the following changes:
The
channelresource'sinvideoPromotion.items[]property has been updated to note that you can typically only set one promoted item for your channel. If you try to insert too many promoted items, the API will return atooManyPromotedItemserror, which has an HTTP400status code.The
channelSectionresource now can contain information about a few new types of featured content. ThechannelSectionresource'ssnippet.typeproperty now supports the following values:-
postedPlaylists- playlists that the channel's owner posted to the channel's activity feed -
postedVideos- videos that the channel's owner posted to the channel's activity feed -
subscriptions- channels that the channel owner has subscribed to
-
The
videoresource's newcontentDetails.contentRating.ifcoRatingproperty identifies the rating that a video received from the Irish Film Classification Office.The definition of the
watermarkresource'sposition.cornerPositionproperty has been updated to note that the watermark always appear in the upper right corner of the player.The definition of the
qparameter for thesearch.listmethod has been updated to note that the query term can use the Boolean NOT (-) operator to exclude videos associated with a particular search term. The value can also use the Boolean OR (|) operator to find videos associated with one of several search terms.The definition of the
pageInfo.totalResultsproperty that is returned in an API response to asearch.listcall has been updated to note that the value is an approximation and may not represent an exact value. In addition, the maximum value is 1,000,000. You should not use this value to create pagination links. Instead, use thenextPageTokenandprevPageTokenproperty values to determine whether to show pagination links.The
watermarks.setandwatermarks.unsetmethods have been updated to reflect that the API returns an HTTP204response code for successful requests to those methods.
2 мая 2014 г.
This update contains the following changes:
The new
i18nLanguageresource identifies an application language that the YouTube website supports. The application language can also be referred to as a UI language. For the YouTube website, an application language could be automatically selected based on Google Account settings, browser language, or IP location, and a user could also manually select the desired UI language from the YouTube site footer.The API supports a method to list supported application languages. Supported languages can be used as the value of the
hlparameter when calling API methods likevideoCategories.listandguideCategories.list.The new
i18nRegionresource identifies a geographic area that a YouTube user can select as the preferred content region. The content region can also be referred to as a content locale. For the YouTube website, a content region could be automatically selected based on heuristics like the YouTube domain or the user's IP location, and a user could also manually select the desired content region from the YouTube site footer.The API supports a method to list supported content regions. Supported region codes can be used as the value of the
regionCodeparameter when calling API methods likesearch.list,videos.list,activities.list, andvideoCategories.list.
7 апреля 2014 г.
This update contains the following changes:
The new
channelSectionresource contains information about a set of videos that a channel has chosen to feature. For example, a section could feature a channel's latest uploads, most popular uploads, or videos from one or more playlists.The API supports methods to list , insert , update , or delete channel sections. You can retrieve a list of channel sections for the authenticated user's channel, by specifying a particular channel ID, or by specifying a list of unique channel section IDs.
The error documentation has also been updated to describe the error messages that the API supports specifically for these new methods.
The definition of the
videoresource'sfileDetailsobject has been updated to explain that that object will only be returned if the video'sprocessingDetails.fileDetailsAvailabilityproperty has a value ofavailable.Similarly, the definition of the
videoresource'ssuggestionsobject has been updated to explain that that object will only be returned if the video'sprocessingDetails.tagSuggestionsAvailabilityproperty or itsprocessingDetails.editorSuggestionsAvailabilityproperty has a value ofavailable.The documentation for the
videos.insertandvideos.updatemethods has been updated to reflect that thestatus.publishAtproperty can be set when calling those methods.The definition of the
channelresource'sinvideoPromotionobject has been updated to explain that the object can only be retrieved by the channel's owner.The parameter list for the
videos.ratemethod has been updated to reflect that that method does not actually support theonBehalfOfContentOwnerparameter. This was a documentation error asvideos.raterequests that set this parameter return a500error.
31 марта 2014 г.
This update contains the following changes:
The
videoresource's newstatus.publishAtproperty lets you specify the date and time when a private video is scheduled to be published. This property can only be set if the video's privacy status isprivateand the video has never been published. This new property is not subject to the deprecation policy .
13 марта 2014 г.
This update contains the following changes:
The API now supports the
contentOwnerDetailspart forchannelresources. The new part contains channel data that is relevant for YouTube partners linked with the channel, including the ID of the content owner linked to the channel and the date and time when the content owner and channel were linked. Note that this new part is not subject to the deprecation policy .The documentation now lists the maximum supported character length for the following properties:
Ресурс Свойство Максимальная длина channelinvideoPromotion.items[].customMessage40 символов videosnippet.title100 символов videosnippet.description5000 bytes videosnippet.tags500 characters. Note that the property value is a list and that commas between items in the list count toward the limit. The
channelresource'sbrandingSettings.watch.featuredPlaylistIdproperty has been deprecated. The API will return an error if you attempt to set its value.The following
videoresource properties have been added to the list of values that can be set when inserting or updating a video:The error documentation now specifies the HTTP response code for each error type.
The API now supports the following errors:
Тип ошибки Подробности ошибки Описание badRequest (400)invalidCriteriaThe channels.listmethod returns this error if the request specifies filter parameters that cannot be used in conjunction with each other.badRequest (400)channelTitleUpdateForbiddenThe channels.updatemethod returns this error if you attempt to update a channel'sbrandingSettingspart and change the value of thebrandingSettings.channel.titleproperty. (Note that the API does not return the error if you omit the property.)badRequest (400)invalidRecentlyUploadedByThe channels.updatemethod returns this error if theinvideoPromotion.items[].id.recentlyUploadedByproperty specifies an invalid channel ID.badRequest (400)invalidTimingOffsetThe channels.updatemethod returns this error if theinvideoPromotionpart specifies an invalid timing offset.badRequest (400)tooManyPromotedItemsThe channels.updatemethod returns this error if theinvideoPromotionpart specifies more than the allowed number of promoted items.forbidden (403)promotedVideoNotAllowedThe channels.updatemethod returns this error if theinvideoPromotion.items[].id.videoIdproperty specifies a video ID that either cannot be found or cannot be used as a promoted item.forbidden (403)websiteLinkNotAllowedThe channels.updatemethod returns this error if theinvideoPromotion.items[].id.websiteUrlproperty specifies a URL that is not allowed.required (400)requiredTimingTypeThe channels.updatemethod returns this error if a request does not specify default timing settings for when YouTube should display a promoted item.required (400)requiredTimingThe channels.updatemethod must specify aninvideoPromotion.items[].timingobject for each promoted item.required (400)requiredWebsiteUrlThe channels.updatemethod must specify aninvideoPromotion.items[].id.websiteUrlproperty for each promoted item.badRequest (400)invalidPublishAtThe videos.insertmethod returns this error if the request metadata specifies an invalid scheduled publishing time.
4 марта 2014 г.
This update contains the following changes:
The YouTube Data API, v3 is now subject to the Deprecation Policy described in the YouTube APIs Terms of Service . Note that the page that lists the APIs that are subject to the deprecation policy specifically excludes some v3 API functionality from being subject to the policy.
5 декабря 2013 г.
This update contains the following changes:
The
search.listmethod's documentation has been updated to properly reflect that you do not need to specify a value for exactly one filter parameter when submitting a search request. Rather, you can set a value for zero filter parameters or for one filter parameter.The definitions for the
search.listmethod's parameters have been updated to note that you must set thetypeparameter's value tovideoif you also specify a value for any of the following parameters:-
eventType -
videoCaption -
videoCategoryId -
videoDefinition -
videoDimension -
videoDuration -
videoEmbeddable -
videoLicense -
videoSyndicated -
videoType
-
The minimum size of uploaded channel banner images has been reduced to 2048px by 1152px. (Previously, the minimum size was 2120px by 1192px.) In addition, note that the
channelresource documentation specifies the maximum sizes of all of the banner images served from the API. For example, the maximum size of thebrandingSettings.image.bannerTvImageUrlimage for television applications is 2120px by 1192px, but the actual image may be 2048px by 1152px. The YouTube Help Center provides additional guidance for optimizing channel art for display on different types of devices.Several
channelresource property definitions have been updated to reflect the following information:- The
brandingSettings.channel.descriptionproperty's value has a maximum length of 1000 characters. - The
brandingSettings.channel.featuredChannelsTitleproperty has a maximum length of 30 characters. - The
brandingSettings.channel.featuredChannelsUrls[]property can now list up to 100 channels. - The
brandingSettings.channel.unsubscribedTrailerproperty value, if set, must specify the YouTube video ID of a public or unlisted video that is owned by the channel owner.
- The
The
channels.updatemethod now supports updates to theinvideoPromotion.items[].promotedByContentOwnerproperty. That property indicates whether the content owner's name will be shown when displaying the promotion. It can only be set if the API request that sets the property value is being made on the content owner's behalf using theonBehalfOfContentOwnerparameter.The
playlistItems.listandplaylistItems.insertmethods now support theonBehalfOfContentOwnerparameter, which is already supported for several other methods.The
contentDetails.contentRating.acbRatingproperty can now specify a rating from either the Australian Classification Board (ACB) for movies or from the Australian Communications and Media Authority (ACMA) for children's television programming.The new
contentDetails.contentRating.catvRatingandcontentDetails.contentRating.catvfrRatingproperties identify the ratings that a video received under the Canadian TV Classification System and the French-language Régie du cinéma rating system, which is used in Québec, respectively.The
videoCategoryresource's newsnippet.assignableproperty indicates whether updated videos or newly uploaded videos can be associated with that video category.Code samples have been added for the following methods:
-
activities.insert(Go) -
channelBanners.insert(Python) -
channels.update(Python) -
playlistItems.list(Go) -
search.list(Go) -
thumbnails.set(Java) -
videos.insert(Go)
-
24 октября 2013 г.
This update contains the following changes:
The API includes two additional features designed to help find and feature live broadcast content:
The new
snippet.liveBroadcastContentproperty in search results indicates whether a video or channel resource has live broadcast content. Valid property values areupcoming,active, andnone.The
videoresource's newsnippet.liveBroadcastContentproperty indicates whether the video is an upcoming or active live broadcast. The list below explains the property's possible values:-
upcoming– The video is a live broadcast that has not yet started. -
active– The video is an ongoing live broadcast. -
none– The video is not an upcoming or active live broadcast. This will be the property value for completed broadcasts that are still viewable on YouTube.
-
The
videoresource's newliveStreamingDetailsproperty is an object that contains metadata about a live video broadcast. To retrieve this metadata, includeliveStreamingDetailsin thepartparameter value's list of resource parts. The metadata includes the following new properties:-
liveStreamingDetails.actualStartTime– The time that the broadcast actually started. (This value will be present once the broadcast's state isactive.) -
liveStreamingDetails.actualEndTime– The time that the broadcast actually ended. (This value will be present once the broadcast is over.) -
liveStreamingDetails.scheduledStartTime– The time that the broadcast is scheduled to begin. -
liveStreamingDetails.scheduledEndTime– The time that the broadcast is scheduled to end. If the property value is empty or the property is not present, then the broadcast is scheduled to go on indefinitely. -
liveStreamingDetails.concurrentViewers– The number of people watching the live broadcast.
To retrieve this metadata, include
liveStreamingDetailsin thepartparameter value when calling thevideos.list,videos.insert, orvideos.updatemethod.-
Note that two other features for identifying live broadcast content were released on October 1, 2013 – the
search.listmethod'seventTypeparameter and the search result'ssnippet.liveBroadcastContentproperty.The
videos.insertmethod now supports thenotifySubscribersparameter, which indicates whether YouTube should send a notification about the new video to users who subscribe to the video's channel. The parameter's default value isTrue, which indicates that subscribers will be notified of newly uploaded videos. However, a channel owner who is uploading many videos might prefer to set the value toFalseto avoid sending a notification about each new video to the channel's subscribers.The list of properties that can be modified when calling the
channels.updatemethod has been updated to include theinvideoPromotion.items[].customMessageandinvideoPromotion.items[].websiteUrlproperties. In addition, the list has been modified to identify thebrandingSettingsproperties that are modifiable. ThesebrandingSettingsproperties were already modifiable, so the documentation change does not reflect a change to the API's existing functionality.The
playlists.insert,playlists.update, andplaylists.deletemethods now support theonBehalfOfContentOwnerparameter, which is already supported for several other methods.The
playlists.insertmethod now supports theonBehalfOfContentOwnerChannelparameter, which is already supported for several other methods.The
videoresource'scontentDetails.contentRating.tvpgRatingproperty now supports a value ofpg14, which corresponds to aTV-14rating.The definition of the
snippet.liveBroadcastContentproperty, which is part of search results, has been corrected to reflect thatliveis a valid property value, butactiveis not a valid property value.The
videoresource'scontentDetails.contentRating.mibacRatingproperty now supports two additional ratings:-
mibacVap(VAP) – Children should be accompanied by an adult. -
mibacVm6(VM6) – Restricted to 6 and over. -
mibacVm12(VM12) – Restricted to 12 and over.
-
The
channelresource's newinvideoPromotion.items[].promotedByContentOwnerproperty indicates whether the content owner's name will be shown when displaying the promotion. This field can only be set if the API request that sets the value is being made on the content owner's behalf. See theonBehalfOfContentOwnerparameter for more information.
1 октября 2013 г.
This update contains the following changes:
The
channelresource's newauditDetailsobject contains channel data that a multichannel network (MCN) would evaluate while determining whether to accept or reject a particular channel. Note that any API request that retrieves this resource part must provide an authorization token that contains thehttps://www.googleapis.com/auth/youtubepartner-channel-auditscope. In addition, any token that uses that scope must be revoked when the MCN decides to accept or reject the channel or within two weeks of the date that the token was issued.The
channelresource'sinvideoPromotion.items[].id.typeproperty now supports a value ofrecentUpload, which indicates that the promoted item is the most recently uploaded video from a specified channel.By default, the channel is the same as the one for which the in-video promotion data is set. However, you can promote the most recently uploaded video from another channel by setting the value of the new
invideoPromotion.items[].id.recentlyUploadedByproperty to the channel ID for that channel.The
channelresource contains three new properties –brandingSettings.image.bannerTvLowImageUrl,brandingSettings.image.bannerTvMediumImageUrl,brandingSettings.image.bannerTvHighImageUrl– that specify the URLs for the banner images that display on channel pages in television applications.The new
snippet.liveBroadcastContentproperty in search results indicates whether a video or channel resource has live broadcast content. Valid property values areupcoming,active, andnone.- For a
videoresource, a value ofupcomingindicates that the video is a live broadcast that has not yet started, while a value ofactiveindicates that the video is an ongoing live broadcast. - For a
channelresource, a value ofupcomingindicates that the channel has a scheduled broadcast that has not yet started, while a value ofaciveindicates that the channel has an ongoing live broadcast.
- For a
In the
watermarkresource, thetargetChannelIdproperty has changed from an object to a string. Instead of containing a child property that specifies the YouTube channel ID of the channel that the watermark image links to, thetargetChannelIdproperty now specifies that value itself. Accordingly, the resource'stargetChannelId.valueproperty has been removed.The
thumbnails.setmethod now supports theonBehalfOfContentOwnerparameter, which is already supported for several other methods.The
search.listmethod now supports theeventTypeparameter, which restricts a search to only return either active, upcoming, or completed broadcast events.The new
contentDetails.contentRating.mibacRatingproperty identifies the rating that a video received from Italy's Ministero dei Beni e delle Attivita Culturali e del Turismo.The API now supports the following errors:
Тип ошибки Подробности ошибки Описание badRequestinvalidImageThe thumbnails.setmethod returns this error if the provided image content is invalid.forbiddenvideoRatingDisabledThe videos.ratemethod returns this error if the owner of the video that is being rated has disabled ratings for that video.
27 августа 2013 г.
This update contains the following changes:
The new
watermarkresource identifies an image that displays during playbacks of a specified channel's videos. You can also specify a target channel to which the image will link as well as timing details that determine when the watermark appears during video playbacks and the length of time it is visible.The
watermarks.setmethod uploads and sets a channel's watermark image. Thewatermarks.unsetmethod deletes a channel's watermark image.The error documentation describes the error messages that the API supports specifically for the
watermarks.setandwatermarks.unsetmethods.The
channelresource's newstatistics.hiddenSubscriberCountproperty contains a boolean value that indicates whether the channel's number of subscribers is hidden. As such, the property's value isfalseif the channel's subscriber count is publicly visible.The
playlists.listmethod now supports theonBehalfOfContentOwnerandonBehalfOfContentOwnerChannelparameters. Both parameters are already supported for several other methods.The
videos.listmethod now supports theregionCodeparameter, which identifies the content region for which a chart should be retrieved. This parameter can only be used in conjunction with thechartparameter. The parameter value is an ISO 3166-1 alpha-2 country code.The
error documentationdescribes the following new common request error, which could occur for multiple API methods:Тип ошибки Подробности ошибки Описание forbiddeninsufficientPermissionsThe scopes associated with the OAuth 2.0 token provided for the request are insufficient for accessing the requested data.
15 августа 2013 г.
This update contains the following changes:
The
channelresource'sinvideoPromotionobject has the following new and updated properties:The API now supports the ability to specify a website as a promoted item. To do so, set the
invideoPromotion.items[].id.typeproperty value towebsiteand use the newinvideoPromotion.items[].id.websiteUrlproperty to specify the URL. Also use the newinvideoPromotion.items[].customMessageproperty to define a custom message to display for the promotion.Links can be to associated websites, merchant sites, or social networking sites. See the YouTube Help Center instructions for associated websites and merchant sites for more information about enabling links for your content.
By adding promotional links, you agree that those links will not be used to redirect traffic to unauthorized sites and that those links will comply with YouTube's AdWords policies , YouTube ad policies , YouTube Community Guidelines and YouTube Terms of Service .
The properties related to the timing settings for displaying promoted items during video playback have been restructured:
The
invideoPromotion.timingobject has been moved toinvideoPromotion.items[].timing. This object now enables you to customize the timing data for each promoted item in theinvideoPromotion.items[]list.The new
invideoPromotion.defaultTimingobject specifies default timing settings for your promotion. Those settings define when a promoted item will display during playback of one of your channel's videos. You can override the default timing for any given promoted item using theinvideoPromotion.items[].timingobject.The new
invideoPromotion.items[].timing.durationMsproperty specifies the amount of time, in milliseconds, that the promotion should display. TheinvideoPromotion.defaultTimingobject also contains adurationMsfield that specifies the default amount of time that the promoted item will display.
The
invideoPromotion.items[].typeandinvideoPromotion.items[].videoIdproperties both have been moved into theinvideoPromotion.items[].idobject.
The
subscriptions.listmethod now supports theonBehalfOfContentOwnerandonBehalfOfContentOwnerChannelparameters. Both parameters are already supported for several other methods.In the API response to a
thumbnails.setrequest, thekindproperty value has changed fromyoutube#thumbnailListResponsetoyoutube#thumbnailSetResponse.Code samples have been added for the following methods:
-
channels.update(Java, Python) -
playlists.insert(.NET, PHP) -
subscriptions.insert(PHP, Python) -
thumbnails.set(PHP, Python) -
videos.insert(PHP) -
videos.list(PHP) -
videos.rate(Python) -
videos.update(Java, PHP, Python)
Note that the Python example for the
playlistItems.insertmethod was also removed since the functionality it demonstrated is now handled by thevideos.ratemethod.-
The
error documentationdescribes the following new request context error, which could occur for any API method that supports theminerequest parameter:Тип ошибки Подробности ошибки Описание badRequestinvalidMineThe mineparameter cannot be used in requests where the authenticated user is a YouTube partner. You should either remove themineparameter, authenticate as a YouTube user by removing theonBehalfOfContentOwnerparameter, or act as one of the partner's channels by providing theonBehalfOfContentOwnerChannelparameter if available for the called method.
8 августа 2013 г.
This update contains the following changes:
The Getting Started with the YouTube Data API guide's Quota Usage section has been updated to reflect a change in the quota cost of a video upload from approximately 16000 units to approximately 1600 units.
30 июля 2013 г.
This update contains the following changes:
In a
channelBannerresource, the value of thekindproperty's value has changed fromyoutube#channelBannerInsertResponsetoyoutube#channelBannerResource. This resource is returned in response to achannelBanners.insertrequest.The
channelresource's newbrandingSettings.channel.profileColorproperty specifies a prominent color that complements the channel's content. The property value is a pound sign (#) followed by a six-character hexadecimal string, such as#2793e6.The API now supports the ability to specify whether a subscription is for all of a channel's activities or just for new uploads. The
subscriptionresource's newcontentDetails.activityTypeproperty identifies the types of activities that the subscriber will be notified about. Valid property values areallanduploads.The
videos.listmethod supports new parameters for retrieving a chart of the most popular videos on YouTube:- The
chartparameter identifies the chart that you want to retrieve. Currently, the only supported value ismostPopular. Note that thechartparameter is a filter parameter, which means it cannot be used in the same request as other filter parameters (idandmyRating). - The
videoCategoryIdparameter identifies the video category for which the chart should be retrieved. This parameter can only be used in conjunction with thechartparameter. By default, charts are not restricted to a particular category.
- The
The
videoresource's newtopicDetails.relevantTopicIds[]property provides a list of Freebase topic IDs that are relevant to the video or its content. The subjects of these topics may be mentioned in or appear in the video.The
videoresource'srecordingDetails.location.elevationproperty has been renamed torecordingDetails.location.altitude, and itsfileDetails.recordingLocation.location.elevationproperty has been renamed tofileDetails.recordingLocation.location.altitude.The
videoresource'scontentDetails.contentRatingobject specifies the ratings that a video received under various rating schemes, including MPAA ratings, TVPG ratings, and so forth. For each rating system, the API now supports a rating value that indicates that the video has not been rated. Note that for MPAA ratings , an "unrated" rating is frequently used to identify uncut versions of films for which the cut version of the film did receive an official rating.The
videoresource's newcontentDetails.contentRating.ytRatingproperty identifies age-restricted content. The property value will beytAgeRestrictedif YouTube has identified the video as containing content that is inappropriate for users less than 18 years old. If the property is absent or if the property value is empty, then the content has not been identified as age-restricted.The
channels.listmethod'smySubscribersparameter has been deprecated. Use thesubscriptions.listmethod and itsmySubscribersparameter to retrieve a list of subscribers to the authenticated user's channel.The
channelBanners.insert,channels.update,videos.getRating, andvideos.ratemethods all now support theonBehalfOfContentOwnerparameter. That parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value.The
channels.updatemethod's documentation has been updated to reflect the fact that that method can be used to update thechannelresource'sbrandingSettingsobject and its child properties. The documentation also now lists the updated list of properties that you can set for thechannelresource'sinvideoPromotionobject.The
error documentationdescribes the following new errors:Тип ошибки Подробности ошибки Описание forbiddenaccountDelegationForbiddenThis error is not specific to a particular API method. It indicates that the authenticated user is not authorized to act on behalf of the specified Google account. forbiddenauthenticatedUserAccountClosedThis error is not specific to a particular API method. It indicates that the authenticated user's YouTube account is closed. If the user is acting on behalf of another Google Account, then this error would indicate that that other account is closed. forbiddenauthenticatedUserAccountSuspendedThis error is not specific to a particular API method. It indicates that the authenticated user's YouTube account is suspended. If the user is acting on behalf of another Google Account, then this error would indicate that that other account is suspended. forbiddenauthenticatedUserNotChannelThis error is not specific to a particular API method. It indicates that the API server cannot identify the channel associated with the API request. If the request is authorized and uses the onBehalfOfContentOwnerparameter, you should also set theonBehalfOfContentOwnerChannelparameter.forbiddencmsUserAccountNotFoundThis error is not specific to a particular API method. The CMS user is not allowed to act on behalf of the specified content owner. notFoundcontentOwnerAccountNotFoundThis error is not specific to a particular API method. The specified content owner account was not found. badRequestinvalidPartThis error is not specific to a particular API method. The request's partparameter specifies parts that cannot be written at the same time.badRequestvideoChartNotFoundThe videos.listmethod returns this error when the request specifies an unsupported or unavailable video chart.notFoundvideoNotFoundThe videos.updatemethod returns this error to indicate that the video you are trying to update cannot be found. Check the value of theidproperty in the request body to ensure it is correct.
10 июня 2013 г.
This update contains the following changes:
The
channels.listmethod's newforUsernameparameter enables you to retrieve information about a channel by specifying its YouTube username.The
activities.listmethod now supports theregionCodeparameter, which instructs the API to return results relevant to the specified country. YouTube uses this value when the authorized user's previous activity on YouTube does not provide enough information to generate the activity feed.Playlist resources now contain the
snippet.tagsproperty. The property will be only be returned to authorized users who are retrieving data about their own playlists. Authorized users can also set playlist tags when calling either theplaylists.insertorplaylists.updatemethods.The
onBehalfOfContentOwnerparameter, which was previously supported for thechannels.listandsearch.listmethods, is now also supported for thevideos.insert,videos.update, andvideos.deletemethods. Note that when this parameter is used in a call to thevideos.insertmethod, the request must also specify a value for the newonBehalfOfContentOwnerChannelparameter, which identifies the channel to which the video will be added. The channel must be linked to the content owner that theonBehalfOfContentOwnerparameter specifies.The parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
This parameter is intended for content partners that own and manage many different YouTube channels. The parameter enables those partners to authenticate once and get access to all of their video and channel data, without having to provide authentication credentials for each individual channel.
Specifically in regard to this release, the parameter now enables a content partner to insert, update, or delete videos in any of the YouTube channels that the partner owns.
The
error documentationdescribes the following new errors:Тип ошибки Подробности ошибки Описание forbiddeninsufficientCapabilitiesThis error is not specific to a particular API method. It indicates that the CMS user calling the API does not have sufficient permissions to perform the requested operation. This error is associated with the use of the onBehalfOfContentOwnerparameter, which is supported for several API methods.unauthorizedauthorizationRequiredThe activities.listmethod returns this error when the request uses thehomeparameter but is not properly authorized.In the
channelsresource, theinvideoPromotion.channelIdproperty has been removed because the channel ID is already specified using the resource'sidproperty.The new Working with Channel IDs guide explains how the API uses channel IDs. The guide may be especially useful for developers migrating from the previous version of the API and who have applications that either request content for the
defaultuser or that rely on the notion that every YouTube channel has a unique username, which is no longer the case.
22 мая 2013 г.
This update contains the following changes:
The new
channelBanners.insertmethod enables you to upload a banner image that can subsequently be set as the banner image for a channel using thechannelresource's newbrandingSettings.image.bannerExternalUrlproperty.The documentation for the
channels.updatemethod has been updated to list the properties that can be modified when calling the method.The
videoresource documentation no longer listsunspecifiedas a valid property value for thesuggestions.processingErrors[],suggestions.processingHints[],suggestions.processingWarnings[], andsuggestions.editorSuggestions[]properties.The
videos.listmethod'smaxResultsparameter now has a default value of5.The
error documentationnow lists errors for thechannelBanners.insertandsubscriptions.listmethods. It also lists several new errors for thechannels.updatemethod.
14 мая 2013 г.
This update contains the following changes:
Standalone pages now list code samples for Java , .NET , PHP , and Ruby .
The page that lists Python code samples now includes examples for adding a subscription, creating a playlist, and updating a video.
10 мая 2013 г.
This update contains the following changes:
YouTube no longer identifies experimental API features and services. Instead, we now provide a list of YouTube APIs that are subject to the deprecation policy .
8 мая 2013 г.
This update contains the following changes:
Channel resources now support the
inVideoPromotionobject, which encapsulates information about a promotional campaign associated with the channel. A channel can use an in-video promotional campaign to display thumbnail images for a promoted video within the video player during playbacks of the channel's videos.You can retrieve this data by including
invideoPromotionin thepartparameter value in achannels.listrequest.The new
channels.updatemethod can be used to update a channel's in-video promotional campaign data. Note that the method only supports updates to theinvideoPromotionpart of thechannelresource and does not yet support updates to other parts of that resource.
2 мая 2013 г.
This update contains the following changes:
Channel resources now support the
status.isLinkedproperty, which indicates whether the channel data identifies a user that is already linked to either a YouTube username or a Google+ account. A user that has one of these links already has a public YouTube identity, which is a prerequisite for several actions, such as uploading videos.Subscription resources now support the
subscriberSnippetpart. That object encapsulates contains snippet data for the subscriber's channel.The API now supports the
videos.getRatingmethod, which retrieves the ratings that the authenticated user gave to a list of one or more videos.The
videos.listmethod's newmyRatingparameter enables you to retrieve a list of videos that the authenticated user rated with alikeordislikerating.The
myRatingparameter and theidparameter are both now considered filter parameters, which means that an API request must specify exactly one of the parameters. (Previously, theidparameter was a required parameter for this method.)The method returns a
forbiddenerror for requests that attempt to retrieve video rating information but are not properly authorized to do so.With the introduction of the
myRatingparameter, thevideos.listmethod has also been updated to support pagination. Note, however, that paging parameters are only supported for requests using themyRatingparameter. (Paging parameters and information are not supported for requests that use theidparameter.)The
maxResultsparameter specifies the maximum number of videos that the API can return in the result set, and thepageTokenparameter identifies a specific page in the result set that you want to retrieve.The
youtube#videoListResponseresource, which is returned in response to avideos.listrequest, now contains thepageInfoobject, which contains details like the total number of results and the number of results included in the current result set. Theyoutube#videoListResponseresource can also includenextPageTokenandprevPageTokenproperties, each of which provides a token that could be used to retrieve a specific page in the result set.
The
videos.insertmethod supports the following new parameters:-
autoLevels– Set this parameter value totrueto instruct YouTube to automatically enhance the video's lighting and color. -
stabilize– Set this parameter value totrueto instruct YouTube to adjust the video by removing shakiness resulting from camera motions.
-
The
channelTitleproperty has been added to thesnippetfor the following resources:-
playlistItem– The property specifies the name of the channel that added the playlist item. -
playlist– The property specifies the name of the channel that created the playlist. -
subscription– The property specifies the name of the channel that is subscribed to.
-
Code samples have been added for the following methods:
-
activities.insert(Ruby) -
playlistItems.list(.NET) -
search.list(.NET) -
subscriptions.insert(Java, Ruby) -
videos.insert(.NET, Ruby)
-
The
subscriptions.listmethod's newmySubscribersparameter enables you to retrieve a list of the currently authenticated user's subscribers. This parameter can only be used in a properly authorized request.Note: This functionality is intended to replace the
mySubscribersparameter currently supported for thechannels.listmethod. That parameter will be deprecated.In a
videoresource, the property valueunspecifiedis no longer a possible value for any of the following properties:API requests that contain an unexpected parameter now return a
badRequesterror, and the reported reason for the error isunexpectedParameter.The error that the
playlistItems.insertmethod returns when the playlist already contains the maximum number of allowed items has been updated. The error is now reported as aforbiddenerror, and the error reason isplaylistContainsMaximumNumberOfVideos.
19 апреля 2013 г.
This update contains the following changes:
The new
videos.ratemethod lets a user set alikeordislikerating on a video or remove a rating from a video.The error documentation has also been updated to list the errors that the API might return in response to a
videos.ratemethod call.Thumbnail images are now identified in the API documentation as a separate resource , and the new
thumbnails.setmethod enables you to upload a custom video thumbnail to YouTube and set it for a video.The error documentation has also been updated to list the errors that the API might return in response to a
thumbnails.setmethod call.Note that this change does not really affect existing resources that return thumbnail images. Thumbnail images are returned in those resources in the same way that they were previously, though the documentation does now list the names of the different thumbnail sizes that the API might return.
The
channelresource's newbrandingSettingspart identifies settings, text, and images for the channel's channel page and video watch pages.The
playlistItemresource contains the following new properties:The new
statusobject encapsulates status information about the playlist item, and thestatus.privacyStatusproperty identifies the playlist item's privacy status.
The
videoresource contains the following new properties:The
status.publicStatsViewableproperty indicates whether extended video statistics on the watch page are publicly viewable. By default, those statistics are viewable, and statistics like a video's viewcount and ratings will still be publicly visible even if this property's value is set tofalse. You can set this property's value when calling thevideos.insertorvideos.updatemethod.The
contentDetails.contentRatingobject encapsulates ratings that the video received under various rating schemes. The list below identifies the supported rating systems and provides a link to the property associated with each rating system. The property definitions identify the supported rating values for each system.Страна Рейтинговая система Свойство United StatesMotion Picture Association of America (MPAA) contentDetails.contentRating.mpaaRatingUnited StatesРекомендации для родителей по просмотру ТВ contentDetails.contentRating.tvpgRatingAustraliaАвстралийский классификационный совет (ACB) contentDetails.contentRating.acbRatingBrazilDepartamento de Justiça, Classificação, Qualificação e Títulos contentDetails.contentRating.djctqRatingCanadaCanadian Home Video Rating System (CHVRS) contentDetails.contentRating.chvrsRatingFranceCentre national du cinéma et de l'image animée (French Ministry of Culture) contentDetails.contentRating.fmocRatingGermanyFreiwillige Selbstkontrolle der Filmwirtschaft (FSK) contentDetails.contentRating.fskRatingGreat BritainBritish Board of Film Classification (BBFC) contentDetails.contentRating.bbfcRatingIndiaCentral Board of Film Certification (CBFC) contentDetails.contentRating.cbfcRatingJapan映倫管理委員会 (EIRIN) contentDetails.contentRating.eirinRatingKorea영상물등급위원회 (KMRB) contentDetails.contentRating.kmrbRatingMexicoGeneral Directorate of Radio, Television and Cinematography (RTC) contentDetails.contentRating.rtcRatingNew ZealandУправление классификации фильмов и литературы contentDetails.contentRating.oflcRatingRussiaNational Film Registry of the Russian Federation contentDetails.contentRating.russiaRatingSpainInstituto de la Cinematografía y de las Artes Audiovisuales (ICAA)contentDetails.contentRating.icaaRating
The
playlistItems.updatemethod's documentation has been updated to reflect the fact that thesnippet.resourceIdproperty must be specified in the resource sent as the request body.The
search.listmethod now supports the following functionality:The new
forMineparameter restricts a search to only retrieve the authenticated user's videos.The
orderparameter now supports the ability to sort results alphabetically by title (order=title) or by video count in descending order (order=videoCount).The new
safeSearchparameter indicates whether search results should include restricted content.
The
videos.insertmethod supports several new errors, which are listed in the table below:Тип ошибки Подробности ошибки Описание badRequestinvalidCategoryIdThe snippet.categoryIdproperty specifies an invalid category ID. Use thevideoCategories.listmethod to retrieve supported categories.badRequestinvalidRecordingDetailsThe metadataspecifies invalid recording details.badRequestinvalidVideoGameRatingМетаданные запроса указывают на недопустимый рейтинг видеоигры. badRequestinvalidVideoMetadataМетаданные запроса недействительны. The
onBehalfOfContentOwnerparameter has been removed from the list of supported parameters for thevideos.updateandvideos.deletemethods.
12 марта 2013 г.
This update contains the following changes:
The
channelTitleproperty has been added to thesnippetfor the following resources:The
search.listmethod supports the following new parameters:The
channelTypeparameter lets you restrict a search for channels to retrieve all channels or to retrieve only shows.The
videoTypeparameter lets you restrict a search for videos to retrieve all videos or to retrieve only movies or only episodes of shows.
The definition of the
videoresource'srecordingDetailspart has been updated to note that the object will only be returned for a video if the video's geolocation data or recording time has been set.The
playlistItems.updatemethod now returns aninvalidSnippeterror, which is returned if the API request does not specify a valid snippet.Several API methods support new parameters that are intended exclusively for YouTube content partners. YouTube content partners include movie and television studios, record labels, and other content creators that make their content available on YouTube.
The
onBehalfOfContentOwnerparameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.This parameter is intended for content partners that own and manage many different YouTube channels. The parameter enables those partners to authenticate once and get access to all of their video and channel data, without having to provide authentication credentials for each individual channel.
The
channels.list,search.list,videos.delete,videos.list, andvideos.updatemethods all support this parameter.The
managedByMeparameter, which is supported by thechannels.listmethod, instructs the API to return all channels owned by the content owner that theonBehalfOfContentOwnerparameter specifies.The
forContentOwnerparameter, which is supported by thesearch.listmethod, instructs the API to restrict search results to only include resources that are owned by the content owner that theonBehalfOfContentOwnerparameter specifies.
25 февраля 2013 г.
This update contains the following changes:
The API supports several new parts and properties for
videoresources:The new
fileDetails,processingDetails, andsuggestionsparts provide information to video owners about their uploaded videos. This data is very useful in applications that enable video uploads and includes the following:- processing status and progress
- errors or other issues encountered while processing a video
- availability of thumbnail images
- suggestions for improving video or metadata quality
- details about the original file uploaded to YouTube
All of these parts can only be retrieved by the video owner. The list below briefly describes the new parts, and the
videoresource documentation defines all of the properties that each part contains.The
fileDetailsobject contains information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more.The
processingProgressobject contains information about YouTube's progress in processing the uploaded video file. The object's properties identify the current processing status and estimate the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.This object is designed to be polled so that the video uploader can track the progress that YouTube has made in processing the uploaded video file.
The
suggestionsobject contains suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video.
The
contentDetailspart contains four new properties. These properties can be retrieved with unauthenticated requests.-
dimension– Indicates whether the video is available in 2D or 3D. -
definition– Indicates whether the video is available in standard or high definition. -
caption– Indicates whether captions are available for the video. -
licensedContent– Indicates whether the video contains content that has been claimed by a YouTube content partner.
-
The
statuspart contains two new properties. Video owners can set values for both properties when inserting or updating a video. These properties can also be retrieved with unauthenticated requests.-
embeddable– Indicates whether the video can be embedded on another website. -
license– Specifies the video's license. Valid values arecreativeCommonandyoutube.
-
The definition of the
partparameter has been updated for thevideos.list,videos.insert, andvideos.updatemethods to list the newly added parts described above as well as therecordingDetailspart, which had been inadvertently omitted.The
channelresource's newcontentDetails.googlePlusUserIdproperty specifies the Google+ profile ID associated with the channel. This value can be used to generate a link to the Google+ profile.Each thumbnail image object now specifies the image's width and height. Thumbnail images are currently returned in
activity,channel,playlist,playlistItem,search result,subscription, andvideoresources.The
playlistItems.listnow supports thevideoIdparameter, which can be used in conjunction with theplaylistIdparameter to only retrieve the playlist item that represents the specified video.The API returns a
notFounderror if the video that the parameter identifies cannot be found in the playlist.The error documentation describes a new
forbiddenerror, which indicates that a request is not properly authorized for the requested action.The
channelresource'ssnippet.channelIdproperty has been removed. The resource'sidproperty provides the same value.
30 января 2013 г.
This update contains the following changes:
The new error page lists errors that the API can return. The page includes general errors, which might occur for multiple different API methods, as well as method-specific errors.
16 января 2013 г.
This update contains the following changes:
Code samples are now available for the methods and languages shown in the list below:
-
activities.insert– Java -
playlistItems.insert– Python -
playlistItems.list– Java, JavaScript, PHP, Python, Ruby -
playlists.insert– Java, JavaScript, Python -
search.list– Java, JavaScript, Python, Ruby -
videos.insert– Java
-
An
activityresource can now report achannelItemaction, which occurs when YouTube adds a video to an automatically generated YouTube channel . (YouTube algorithmically identifies topics that have a significant presence on the YouTube website and automatically generates channels for those topics.)The following
search.listparameters have been updated:- The
qparameter is no longer designated as a filter, which means .... - The
relatedToVideoparameter has been renamedrelatedToVideoId. - The
publishedparameter has been replaced with two new parameters,publishedAfterandpublishedBefore, which are described below.
- The
The
search.listmethod supports the following new parameters:Имя параметра Ценить Описание channelIdstringReturn resources created by the specified channel. publishedAfterdatetimeReturn resources created after the specified time. publishedBeforedatetimeReturn resources created before the specified time. regionCodestringReturn resources for the specified country. videoCategoryIdstringFilter video search results to only include videos associated with the specified video category . videoEmbeddablestringFilter video search results to only include videos that can be played in an embedded player on a web page. Set the parameter value to trueto only retrieve embeddable videos.videoSyndicatedstringFilter video search results to only include videos that can be played outside of YouTube.com. Set the parameter value to trueto only retrieve syndicated videos.Several API resources support new properties. The table below identifies the resources and their new properties:
Ресурс Имя объекта недвижимости Ценить Описание activitycontentDetails.playlistItem.playlistItemIdstringThe playlist item ID that YouTube assigned to uniquely identify the item in the playlist. activitycontentDetails.channelItemobjectAn object that contains information about a resource that was added to a channel. This property is only present if the snippet.typeischannelItem.activitycontentDetails.channelItem.resourceIdobjectAn object that identifies the resource that was added to the channel. Like other resourceIdproperties, it contains akindproperty that specifies the resource type, such as video or playlist. It also contains exactly one of several properties –videoId,playlistId, etc. – that specifies the ID that uniquely identifies that resource.channelstatusobjectThis object encapsulates information about the channel's privacy status. channelstatus.privacyStatusstringThe channel's privacy status. Valid values are privateandpublic.playlistcontentDetailsobjectThis object contains metadata about the playlist's content. playlistcontentDetails.itemCountunsigned integerКоличество видео в плейлисте. playlistplayerobjectThis object contains information that you would use to play the playlist in an embedded player. playlistplayer.embedHtmlstringAn <iframe>tag that embeds a video player that plays the playlist.videorecordingDetailsobjectThis object encapsulates information that identifies or describes the place and time that the video was recorded. videorecordingDetails.locationobjectThis object contains geolocation information associated with the video. videorecordingDetails.location.latitudedoubleLatitude in degrees. videorecordingDetails.location.longitudedoubleLongitude in degrees. videorecordingDetails.location.elevationdoubleAltitude above the Earth, in meters. videorecordingDetails.locationDescriptionstringA text description of the location where the video was recorded. videorecordingDetails.recordingDatedatetimeThe date and time when the video was recorded. The value is specified in ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ) format.The documentation for several API methods now identifies properties that must be specified in the request body or that are updated based on values in the request body. The table below lists those methods as well as the required or modifiable properties.
Note: Documentation for other methods may already list required and modifiable properties.
Метод Характеристики activities.insertRequired properties: -
snippet.description
-
snippet.description -
contentDetails.bulletin.resourceId
playlists.updateRequired properties: -
id
playlistItems.updateRequired properties: -
id
videos.updateRequired properties: -
id
-
The API no longer reports a
playlistAlreadyExistserror if you try to create or update a playlist that would have the same title as a playlist that already exists in the same channel.Several API methods support new error types. The table below identifies the method and the newly supported errors:
Метод Тип ошибки Подробности ошибки Описание guideCategories.listnotFoundnotFoundThe guide category identified by the idparameter cannot be found. Use the guideCategories.list method to retrieve a list of valid values.playlistItems.deleteforbiddenplaylistItemsNotAccessibleThe request is not properly authorized to delete the specified playlist item. videoCategories.listnotFoundvideoCategoryNotFoundThe video category identified by the idparameter cannot be found. Use the videoCategories.list method to retrieve a list of valid values.