На этой странице перечислены изменения API данных YouTube (v3) и обновления документации. Подпишитесь на этот журнал изменений .
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.
09 ноября 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 , свойство statistics.dislikeCount
video
теперь является частным.
Подробнее об этом изменении можно узнать в официальном блоге YouTube .
18 ноября 2021 г.
В связи с изменениями, которые делают подсчет неприязни к видео конфиденциальным на всей платформе YouTube , с 13 декабря 2021 года свойство statistics.dislikeCount
video
станет частным. Это означает, что это свойство будет включаться только в ответ API от videos.list
Конечная точка 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, должны заполните и отправьте эту форму. Это позволяет команде API YouTube обновлять наши записи, проверять соответствие вариантов использования нового проекта API и проверять текущее распределение квот разработчика.
Каждая новая форма будет информировать нас о предполагаемом использовании вами API YouTube и позволит нам лучше помогать вам.
Более подробную информацию можно найти в нашем новом руководстве по аудиту соответствия API.
12 мая 2021 г.
Примечание. Это объявление об устаревании.
Это обновление охватывает следующие изменения API:
Свойство
contentDetails.relatedPlaylists.favorites
ресурсаchannel
устарело. Функциональность избранных видео уже несколько лет устарела, как отмечено в записи истории изменений от 28 апреля 2016 г.До этого обновления API по-прежнему создавал новый список воспроизведения, если клиент API пытался добавить видео в несуществующий список воспроизведения избранного. В дальнейшем плейлист в этом случае создаваться не будет, и API вернет ошибку. Попытки изменить плейлисты избранного путем добавления, изменения или удаления элементов также считаются устаревшими в соответствии с предыдущими объявлениями и могут начать возвращать ошибки в любое время.
Следующие свойства ресурса
channel
устарели. Эти свойства уже не поддерживаются в пользовательском интерфейсе Студии YouTube и на YouTube. В результате они также больше не поддерживаются через API.-
brandingSettings.channel.defaultTab
-
brandingSettings.channel.featuredChannelsTitle
-
brandingSettings.channel.featuredChannelsUrls[]
-
brandingSettings.channel.profileColor
-
brandingSettings.channel.showBrowseView
-
brandingSettings.channel.showRelatedChannels
Все свойства были удалены из представления ресурса
channel
, а их определения были удалены из списка свойств ресурса. Кроме того, из документации по конкретному методу были удалены ошибки, связанные с этими свойствами.-
Следующие свойства ресурса
channelSection
устарели. Эти свойства уже не поддерживаются в пользовательском интерфейсе Студии YouTube и на 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
(неверный запрос).Ошибки метода
playlistItems.list
watchHistoryNotAccessible
иwatchLaterNotAccessible
были удалены из документации. Хотя история просмотра пользователей и списки просмотра позже действительно недоступны через API, эти конкретные ошибки API не возвращают.
15 октября 2020 г.
В Правила разработчика добавлены два новых раздела:
- В новом разделе III.E.4.i представлена дополнительная информация о данных, собранных и отправленных через встроенный проигрыватель YouTube. Вы несете ответственность за любые пользовательские данные, которые вы отправляете нам через любой встроенный проигрыватель YouTube до того, как пользователь взаимодействовал с проигрывателем, чтобы указать намерение воспроизведения. Вы можете ограничить данные, передаваемые YouTube, прежде чем пользователь взаимодействует с проигрывателем, установив для автозапуска значение false.
- Новый раздел III.E.4.j касается проверки статуса контента «Сделано для детей» (MFK) перед его встраиванием на ваши сайты и в приложения. Вы несете ответственность за то, чтобы знать, когда видео, которые вы встраиваете в свой API-клиент, предназначены для детей, и соответствующим образом обрабатывать данные, собранные со встроенного проигрывателя. Таким образом, вы должны проверить статус контента с помощью службы API данных YouTube, прежде чем встраивать его в свой 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
для любых запросов. - Свойства
contentDetails.relatedPlaylists.watchLater
иcontentDetails.relatedPlaylists.watchHistory
ресурсаchannel
были объявлены устаревшими 11 августа 2016 года . Поддержка этих списков воспроизведения методамиplaylistItems.insert
иplaylistItems.delete
также полностью устарела, и эти два свойства были удалены из документации. - Параметр
mySubscribers
channels.list
, объявленный устаревшим 30 июля 2013 года , был удален из документации. Используйте методsubscriptions.list
и его параметрmySubscribers
, чтобы получить список подписчиков канала прошедшего проверку подлинности пользователя. - Объект
invideoPromotion
ресурсаchannel
и все его дочерние свойства, объявленные устаревшими 27 ноября 2017 г. , были удалены из документации.
29 июля 2020 г.
Мы упростили процесс начисления квоты на запросы API, удалив дополнительные затраты, связанные с параметром part
. С этого момента мы будем взимать только базовую стоимость за вызываемый метод. Более подробную информацию об упрощенной квоте можно найти здесь .
Результатом этого изменения является то, что стоимость квоты для большинства вызовов API будет немного ниже, тогда как стоимость некоторых вызовов API останется прежней. Это изменение не увеличивает стоимость вызовов API. В целом, вероятно, ваша выделенная квота, которую можно увидеть в Google Cloud Console , будет увеличена немного дальше.
Мы настоятельно рекомендуем всем разработчикам пройти проверку соответствия своих проектов, чтобы обеспечить постоянный доступ к службам 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, но не заменяет какие-либо существующие документы. В руководстве рассматриваются некоторые наиболее распространенные вопросы, которые разработчики задают во время аудита соответствия 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 Live. Ресурс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. В результате изменения количество подписчиков, возвращаемое службой API данных YouTube, округляется до трех значащих цифр, если число подписчиков превышает 1000. Это изменение влияет на свойство статистики.subscriberCount ресурса channel
.
Примечание. Это изменение влияет на значение этого свойства даже в тех случаях, когда пользователь отправляет авторизованный запрос данных о своем собственном канале. Владельцы каналов по-прежнему смогут видеть точное количество подписчиков в Студии YouTube.
Например, если у канала 123 456 подписчиков, свойство statistics.subscriberCount
будет содержать значение 123000
. В таблице ниже показаны примеры того, как количество подписчиков округляется в ответах API и сокращается в других общедоступных пользовательских интерфейсах YouTube:
Пример количества подписчиков | API данных YouTube | Общедоступные интерфейсы YouTube |
---|---|---|
1234 | 12:30 | 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-интерфейса Explorer. Пример см. в документации по методу
channels.list
. На страницах, описывающих методы API, теперь есть два новых элемента:Виджет «Проводник API» позволяет выбирать области авторизации, вводить образцы значений параметров и свойств, а затем отправлять фактические запросы API и просматривать фактические ответы API. Виджет также предлагает полноэкранное представление, в котором показаны полные примеры кода, которые динамически обновляются для использования введенных вами областей и значений.
В разделе «Распространенные варианты использования» описан один или несколько распространенных вариантов использования метода, описанного на странице. Например, вы можете вызвать метод
channels.list
для получения данных о конкретном канале или для получения данных о канале текущего пользователя.Вы можете использовать ссылки в этом разделе, чтобы заполнить проводник API примерами значений для вашего варианта использования или открыть полноэкранный проводник API с уже заполненными значениями. Эти изменения призваны облегчить вам просмотр примеров кода, которые напрямую применимы к варианту использования, который вы пытаетесь реализовать в своем собственном приложении.
Примеры кода в настоящее время поддерживаются для Java, JavaScript, PHP, Python и Curl.
Инструмент примеров кода также был обновлен новым пользовательским интерфейсом, который предлагает все описанные выше функции. С помощью этого инструмента вы можете изучить варианты использования различных методов, загрузить значения в проводник API и открыть полноэкранный проводник API, чтобы получить примеры кода на Java, JavaScript, PHP и Python.
В связи с этим изменением были удалены страницы, на которых ранее были доступны примеры кода для Java, JavaScript, PHP и Python.
Обновлены краткие руководства по Java , JavaScript , PHP и Python . В пересмотренных руководствах объясняется, как запустить один образец с ключом API, а другой — с идентификатором клиента OAuth 2.0, используя примеры кода из API Explorer.
Обратите внимание, что описанные выше изменения заменяют интерактивный инструмент, добавленный в документацию API в 2017 году.
9 июля 2018 г.
Это обновление содержит следующие изменения:
Определение свойства
snippet.thumbnails
ресурсаchannel
было обновлено, чтобы отметить, что при отображении миниатюр в вашем приложении ваш код должен использовать URL-адреса изображений точно так, как они возвращаются в ответах API. Например, ваше приложение не должно использовать доменhttp
вместо доменаhttps
в URL-адресе, возвращаемом в ответе API.Начиная с июля 2018 г. URL-адреса миниатюр каналов будут доступны только в домене
https
. Именно так URL-адреса отображаются в ответах API. По истечении этого времени вы можете увидеть неработающие изображения в своем приложении, если оно попытается загрузить изображения YouTube из доменаhttp
.Примечание. Это объявление об устаревании.
Свойство
recordingDetails.location.altitude
video
устарело. Нет никакой гарантии, что видео вернет значения для этого свойства. Аналогично, даже если запросы 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 г.
Это обновление содержит следующие изменения:
- Определение параметра
forContentOwner
методаsearch.list
было обновлено, чтобы отметить, что если для этого параметра установлено значениеtrue
, для параметраtype
должно быть установлено значениеvideo
. - Определение параметра
regionCode
методаsearch.list
было обновлено, чтобы уточнить, что этот параметр ограничивает результаты поиска видео, которые можно просмотреть в указанном регионе. - YouTube обновил свои фирменные логотипы и значки. Новые логотипы «разработано совместно с YouTube» можно загрузить на странице рекомендаций по брендингу . Другие новые логотипы YouTube и значки также отображаются на этой странице и могут быть загружены с сайта бренда YouTube .
24 июля 2017 года
Это обновление содержит следующие изменения:
- Для iOS доступно новое руководство по API Data Data YouTube. Руководство объясняет, как использовать API данных YouTube в простом приложении для iOS, написанном в Objective-C или Swift.
- Интерактивный инструмент фрагмента кода для API данных YouTube теперь включает документацию, объясняющую некоторые функции инструмента:
- Выполнение запросов API
- Переключение между фрагментами кода и полными образцами кода
- Использование функций шаблона
- Загрузка существующих ресурсов (для методов обновления)
Примечание. Инструмент также встроен в справочную документацию API для методов API ( пример ).
1 июня 2017 года
Это обновление содержит следующие изменения:
Примечание: это объявление об ископке.
Следующие свойства
video
ресурса устарели. Хотя свойства будут поддерживаться до 1 декабря 2017 года, нет никакой гарантии, что видео будут продолжать возвращать значения для этих свойств до этого времени. Аналогичным образом,videos.insert
иvideos.update
запросы, которые устанавливают эти значения свойств, не будут генерировать ошибки до этой даты, но возможно, что входящие данные не будут сохранены.
17 мая 2017 года
Это обновление содержит следующие изменения:
Справочная документация API была обновлена, чтобы сделать фрагменты кода более повсеместными и интерактивными. Страницы, которые объясняют методы API, такие как
channels.list
илиvideos.rate
, теперь имеют интерактивный инструмент, который позволяет просмотреть и настраивать фрагменты кода в Java, JavaScript, PHP, Python, Ruby, Script Apps и Go.Для любого данного метода, инструмент показывает фрагменты кода для одного или нескольких вариантов использования, и каждый вариант использования описывает общий способ вызвать этот метод. Например, вы можете вызвать метод
channels.list
.Вы также можете взаимодействовать с образцами кода:
Измените параметр и значения свойств, а фрагменты кода динамически обновляются, чтобы отразить значения, которые вы предоставляете.
Переключение между фрагментами кода и полными образцами. В фрагменте кода показывается часть кода, который вызывает метод API. Полный образец содержит этот фрагмент, а также код шаблона для авторизации и отправки запросов. Полные образцы могут быть скопированы и запустить из командной строки или локального веб -сервера.
Выполните запросы, нажав кнопку. (Чтобы выполнить запросы, вам необходимо разрешить инструмент для вызова API от вашего имени.)
Обратите внимание, что этот инструмент заменил APIS Explorer на страницах, где он доступен. (Каждая страница отображает ссылку, чтобы у вас также была возможность загрузить запрос, над которым вы работаете в APIS Explorer.)
Инструмент фрагментов кода Data API также был обновлен с помощью нового пользовательского интерфейса, который предлагает все те же функции, описанные выше. Основные новые функции, доступные на этой странице:
- Поддержка запросов API, которые записывают данные.
- Поддержка образцов Java.
- Более гибкий и комплексный код шаблона для авторизации пользователей и строительства запросов API.
27 апреля 2017 года
Это обновление содержит следующие изменения:
- Новые руководства QuickStart объясняют, как настроить простое приложение, которое делает запросы API данных YouTube. Руководства в настоящее время доступны для Android , Apps Script , GO , Java , JavaScript , Node.js , PHP , Python и Ruby .
30 марта 2017 года
Это обновление содержит следующие изменения:
- Новое
topicDetails.topicCategories[]
ресурсаchannel
. URL -адреса соответствуют идентификаторам темы, возвращенными вtopicDetails.topicIds[]
ресурса. - Новое свойство
contentDetails.videoPublishedAt
отplaylistItem
Resource. Ресурс уже содержит свойствоsnippet.publishedAt
, которое определяет время, когда элемент был добавлен в плейлист. - Как и ресурс
channel
,video
ресурс теперь возвращает свойствоtopicDetails.topicCategories[]
, которое содержит список URL -адресов Википедии, которые описывают содержание видео. Дляvideo
ресурсов URL -адреса соответствуют идентификаторам темы, возвращенными вtopicDetails.relevantTopicIds[]
ресурса. - Новый
video
contentDetails.contentRating.mpaatRating
27 февраля 2017 года
Как первоначально было объявлено 11 августа 2016 года , YouTube переключил поддерживаемый список идентификаторов тем в список кураторских. Полный список поддерживаемых идентификаторов темы включен в свойства topicDetails
для channel
и video
ресурсов, а также в topicId
метода search.list
.
Обратите внимание, что в списке курируется несколько изменений:
- Следующие темы были добавлены в качестве подтопиков
Society
:Имя идентификатор темы Бизнес /m/09s1f
Здоровье /m/0kt51
Военный /m/01h6rj
Политика /m/05qt0
Религия /m/06bvp
-
Animated cartoon
, ранее ребенокEntertainment
, была удалена. -
Children's music
тема, ранее ребенокMusic
, была удалена.
В результате этого изменения темы, связанные с видео, теперь всегда возвращаются в topicDetails.relevantTopicIds[]
video
ресурса.
29 ноября 2016 г.
Это обновление содержит следующие изменения:
Есть три небольших изменения в списке идентификаторов тем, которые будут поддерживаться по состоянию на 10 февраля 2017 года:
- Категория
Professional wrestling
, которая ранее была ребенкомSports
категории, теперь является ребенкомEntertainment
. - Категория
TV shows
, которая является ребенкомEntertainment
, является новой. - Категория
Health
, ранее ребенокLifestyle
, была удалена.
Также обратите внимание, что есть несколько категорий родителей (
Entertainment
,Gaming
,Lifestyle
,Music
иSports
). Любое видео, которое связано с детской категорией, такой какTennis
, также будет связано с родительской категорией (Sports
).- Категория
10 ноября 2016 года
Это обновление содержит следующие изменения:
Как впервые было объявлено 11 августа 2016 года , искажение Freebase и Freebase API требует нескольких изменений, связанных с идентификаторами тем. Идентификаторы темы определяют темы, связанные с
channel
иvideo
ресурсами, и вы также можете использовать параметр поискаtopicId
, чтобы найти каналы или видео, связанные с конкретной темой.10 февраля 2017 года YouTube начнет возвращать небольшой набор идентификаторов тем, а не гораздо более детальный набор идентификаторов, возвращенных до сих пор. Кроме того, обратите внимание, что каналы и видео не гарантируют, что не будут связаны с какими -либо тем, что согласуется с текущим поведением API.
Таким образом, вы можете подготовить своих клиентов API к этим изменениям, определения следующих параметров и свойств API были обновлены для перечисления идентификаторов тем, которые будут поддерживаться после этого времени. Обратите внимание, что список категорий одинаковы для всех свойств.
- The
channel
Resource'stopicDetails.topicIds[]
свойство. - The
topicDetails.relevantTopicIds[]
video
Resource. - Параметр метода
search.list
topicId
.
- The
Примечание: это объявление об ископке.
Следующие свойства устанавливаются:
- The
channel
Resource'stopicDetails.topicIds[]
свойство. Эта собственность будет поддержана до 10 ноября 2017 года. - The
topicDetails.relevantTopicIds[]
video
Resource. Эта собственность будет поддержана до 10 ноября 2017 года. - Собственность
video
Resource'stopicDetails.topicIds[]
. Это свойство не будет содержать значения после 10 февраля 2017 года. (После этой даты, ThetopicDetails.relevantTopicIds[]
Значение свойства определит все темы, связанные с видео.)
- The
Поскольку Freebase уже устарела, руководство по поиску с темами Freebase было удалено из документации. Это руководство предоставило образцы кода, чтобы показать, как приложение будет работать с API Freebase.
Кроме того, несколько образцов кода, связанные с идентификаторами тем, были удалены из документации метода
search.list
.
2 ноября 2016 года
Это обновление содержит следующие изменения:
Новые свойства и параметры
video
-ресурс содержит несколько новых свойств:Свойство
player.embedHtml
содержит тег<iframe>
, который вы можете использовать для встроенного игрока, который воспроизводит видео. Новыйplayer.embedHeight
иplayer.embedWidth
свойства определяют размеры встроенного игрока. Эти свойства возвращаются только в том случае, если запрос API указывает значение как минимум для одного из параметровmaxHeight
илиmaxWidth
. Эти два новых параметра объясняются позже в этой записи истории пересмотра.Новое свойство
hasCustomThumbnail
указывает, предоставил ли видео загрузчик видео пользовательское изображение миниатюры для видео. Обратите внимание, что это свойство видно только для загрузчика видео.Новый
fpbRatingReasons[]
определяет причины, по которым видео получило свой рейтинг FPB (Южная Африка).Новый
mcstRating
определяет рейтинг, который видео получило во Вьетнаме.
maxWidth
videos.list
maxHeight
Вы можете использовать либо параметр, либо оба параметра при получении частиplayer
вvideo
ресурсах.По умолчанию высота свойства
<iframe>
в свойствоplayer.embedHtml
составляет 360px. Ширина приспосабливается в соответствии с соотношением сторон видео, тем самым гарантируя, что у встроенного игрока нет черных батончиков, создающих видео. Так, например, если соотношение сторон видео составляет 16: 9, ширина игрока будет 640px.С новыми параметрами вы можете указать, что вместо размеров по умолчанию код вставки должен использовать высоту и/или ширину, подходящую для макета вашего приложения. API -сервер масштабирует размеры игрока в зависимости от того, чтобы убедиться, что встроенный игрок не имеет черных полос, обрамляющих видео. Обратите внимание, что оба параметра указывают максимальные размеры встроенного игрока. Таким образом, если указаны оба параметра, одно измерение все еще может быть меньше, чем максимальное количество разрешено для этого измерения.
Например, предположим, что видео имеет соотношение сторон 16: 9. Таким образом, тег
player.embedHtml
будет содержать игрока 640x360, если параметрmaxHeight
илиmaxWidth
не установлен.- Если параметр
maxHeight
устанавливается на720
, а параметрmaxWidth
не установлен, API вернет игрока 1280x720. - Если параметр
maxWidth
установлен на960
, а параметрmaxHeight
не установлен, API вернет игрока 960x540. - Если параметр
maxWidth
установлен на960
, а параметрmaxHeight
установлен на450
, API вернет игрока 800x450.
Новый
player.embedHeight
иplayer.embedWidth
Properties, которые описаны выше, определяют размеры игрока.- Если параметр
Обновления существующих методов, свойств и параметров
Описание ресурса
channelSection
было обновлено, чтобы отметить, что канал может создать максимум 10 полков, не устанавливая таргетинг данных и может создать максимум 100 полков с данными таргетирования.Кроме того, свойство
targeting
ресурсаchannelSection
было обновлено, чтобы отразить тот факт, что параметры таргетинга могут быть установлены только с помощью API. Параметры таргетинга удаляются, если раздел канала изменен с использованием пользовательского интерфейса на веб -сайте YouTube.hl
snippet.name
ресурсаi18nLanguage
i18nLanguage.list
Свойство
playlistItem
contentDetails.note
.playlistItem
contentDetails.endAt
contentDetails.startAt
Эти поля игнорируются, если они устанавливаются вplaylistItems.insert
илиplaylistItems.update
запросы.Методы
playlistItems.delete
иplaylistItems.update
теперь поддерживают параметрonBehalfOfContentOwner
, который уже поддерживается для нескольких других методов. Запросы, которые используют этот метод, также должны быть разрешены с помощью токена, который обеспечивает доступ к областиhttps://www.googleapis.com/auth/youtubepartner
.publishedBefore
иpublishedAfter
параметры методаsearch.list
были обновлены, чтобы указать, что значения параметров включены. Так, например, если параметрpublishedBefore
перед установкой, API возвращает ресурсы, созданные до или в указанное время.video
поддерживаетgrfilmK15
дополнительных значения:grfilmK12
,contentDetails.contentRating.grfilmRating
иgrfilmK18
.Описание метода
videos.insert
было обновлено, чтобы отметить, что максимальный размер файла для загруженных видео увеличился с 64 ГБ до 128 ГБ.
Новые и обновленные ошибки
API поддерживает следующие новые ошибки:
Тип ошибки Деталь ошибки Описание forbidden (403)
homeParameterDeprecated
Метод activities.list
возвращает эту ошибку, чтобы указать, что данные активности домашней страницы пользователя недоступны через этот API. Эта ошибка может возникнуть, если вы установите параметрhome
вtrue
в несанкционированном запросе.invalidValue (400)
invalidContentDetails
Метод playlistItems.insert
возвращает эту ошибку, чтобы указать, что объектcontentDetails
в запросе недействителен. Одна из причин того, что эта ошибка возникает, заключается в том, что полеcontentDetails.note
более 280 символов.forbidden (403)
watchHistoryNotAccessible
Метод playlistItems.list
возвращает эту ошибку, чтобы указать, что запрос попытался получить элементы плейлиста «Watch History», но их нельзя получить с помощью API.forbidden (403)
watchLaterNotAccessible
Метод playlistItems.list
возвращает эту ошибку, чтобы указать, что запрос попытался получить элементы плейлиста «Смотреть позже», но их нельзя получить с помощью API.badRequest (400)
uploadLimitExceeded
Метод videos.insert
возвращает эту ошибку, чтобы указать, что канал превысил количество видео, которые он может загрузить.forbidden (403)
forbiddenEmbedSetting
Метод videos.update
. Обратите внимание, что некоторые каналы могут не иметь разрешения на предложение встроенных игроков для живых потоков. Смотрите Центр справки YouTube для получения дополнительной информации.Метод
playlistItems.insert
больше не возвращает ошибку, если вы вставляете дубликатное видео в список воспроизведения. Эта ошибка ранее произошла для некоторых плейлистов, таких как любимые видео, которые не позволяли дубликаты, но больше не поддерживаются. В общем, плейлисты позволяют дублировать видео.
Другие обновления
Запись истории пересмотра за 15 сентября 2016 года была обновлена, чтобы уточнить, что всякий раз, когда ресурс
channel
contentDetails.relatedPlaylists.watchHistory
иcontentDetails.relatedPlaylists.watchLater
включены в ответ, они всегда содержат значенияHL
иWL
, соответственно. Кроме того, эти свойства включены только в том случае, если авторизованный пользователь получает данные о собственном канале пользователя.
15 сентября 2016 года
Это обновление содержит следующие изменения:
Обновление «История ревизий» 11 августа 2016 года обсуждало несколько изменений, связанных с идентификаторами тем, включая тот факт, что набор поддерживаемых идентификаторов темы изменится по состоянию на 10 февраля 2017 года. Список тем, которые будут поддерживаться. , 2016.
Следующие изменения в настоящее время действуют. Уведомление об этих изменениях было дано в обновлении истории пересмотра 11 августа 2016 года:
Если метод
activities.list
вызывается сhome
параметром, установленным вtrue
, ответ API теперь содержит элементы, аналогичные тем, что будет видеть пользователь YouTube, зарегистрированный на домашней странице.Это небольшое изменение, которое предназначено для обеспечения лучшего пользовательского опыта, чем поведение, описанное в обновлении истории пересмотра 11 августа 2016 года. В этом обновлении указано, что запросы с использованием
home
параметра вернут пустой список.channel
WL
contentDetails.relatedPlaylists.watchHistory
contentDetails.relatedPlaylists.watchLater
HL
.Чтобы быть ясным, эти свойства видны только авторизованным пользователю, получающим данные о собственном канале пользователя. Свойства всегда содержат значения
HL
иWL
, даже для авторизованного пользователя, получающего данные о собственном канале пользователя. Таким образом, история часов и идентификаторы плейлиста часов нельзя извлечь через API.Кроме того, запросы на получение деталей плейлиста (
playlists.list
) или элементы плейлиста (playlistItems.list
) для истории просмотра канала или «Смотрите более поздний плейлист», теперь возвращают пустые списки. Такое поведение верно для новых значений,HL
иWL
, а также для любой истории часов или более поздних идентификаторов плейлиста, которые ваш клиент API, возможно, уже сохранил.
Объект
fileDetails.recordingLocation
'svideo
Resource. Объект RecordingLocation и его дочерние свойства больше не возвращаются. Ранее эти данные (например, родительский объектfileDetails
) могли быть извлечены только владельцем видео.
11 августа 2016 года
Это обновление содержит следующие изменения:
Недавно опубликованные Услуги службы услуг API YouTube («Обновленные термины»), подробно обсуждаемые в блоге YouTube Engineering and Developers , предоставляет богатый набор обновлений в текущих условиях обслуживания. В дополнение к обновленным условиям , которые вступит в силу по состоянию на 10 февраля 2017 года, это обновление включает в себя несколько подтверждающих документов, которые помогут объяснить политику, за которыми должны следовать разработчики.
Полный набор новых документов описан в истории пересмотра для обновленных терминов . Кроме того, будущие изменения в обновленных терминах или в тех подтверждающих документах также будут объяснены в этой истории пересмотра. Вы можете подписаться на изменения списка каналов RSS в этой истории пересмотра по ссылке в этом документе.
Унимок свободной базы и API Freebase вызывает несколько изменений, связанных с идентификаторами тем. Идентификаторы темы используются в следующих ресурсах и методах API:
- Часть темы
channel
ResourcetopicDetails
идентифицирует темы, связанные с каналом. - Часть
topicDetails
video
-ресурса идентифицирует темы, связанные с видео. - Параметр метода
search.list
topicId
позволяет искать видео или каналы, связанные с конкретной темой.
Изменения в этих функциях:
По состоянию на 10 февраля 2017 года YouTube начнет возвращать небольшой набор идентификаторов тем, а не гораздо более детальный набор идентификаторов, возвращенных до сих пор. Этот набор поддерживаемых тем идентифицирует категоризации высокого уровня, такие как спорт или баскетбол , но, например, они не будут идентифицировать конкретные команды или игроков. Мы будем объявлять набор поддерживаемых тем, чтобы у вас было время подготовить ваше приложение к этому изменению.
Любые идентификаторы темы Freebase, которые вы уже получили, могут использоваться для поиска контента до 10 февраля 2017 года. Однако, после этого времени, вы сможете использовать только меньший набор тем, идентифицированных в предыдущем элементе для получения результатов поиска по тема.
После 10 февраля 2017 года, если вы попытаетесь искать результаты, используя идентификатор темы, который не находится в меньшем наборе поддерживаемых идентификаторов тем, API вернет пустой набор результатов.
- Часть темы
Несколько полей API и параметров устанавливаются в силу 12 сентября 2016 года:
home
параметр Method.activities.list
позволил авторизованному пользователю получить канал действия, который будет отображаться на домашней странице YouTube для этого пользователя. Запросы, которые используют этот параметр после 12 сентября 2016 года, вернут пустой список.channel
'scontentDetails.relatedPlaylists.watchHistory
contentDetails.relatedPlaylists.watchLater
После 12 сентября 2016 годаcontentDetails.relatedPlaylists.watchHistory
вернет значениеHL
иcontentDetails.relatedPlaylists.watchLater
Собственность вернет значениеWL
для всех каналов.Запросы
playlistItems.list
получении деталей плейлиста (playlists.list
. Список после этого времени. Это верно для новых значений,HL
иWL
, а также для любой истории часов или на более поздних идентификаторах плейлиста, которые ваш клиент API, возможно, уже сохранил.Объект FileTetails's
video
ResourcefileDetails.recordingLocation
или любая из его дочерних свойств больше не будет возвращено после 12 сентября 2016 года. Эти данные могут быть извлечены только владельцем видео, поскольку родительский объектfileDetails
может быть извлечен только владельцем видео.
13 июня 2016 года
Это обновление содержит следующие изменения:
Свойство
contentDetails.googlePlusUserId
отchannel
Resource. Ранее свойство присутствовало только в том случае, если канал был связан с профилем Google+. После снижения, собственность больше не будет включаться в какие -либо ресурсыchannel
.snippet.authorGoogleplusProfileUrl
отcomment
. Authorgoogleplusprofileurl. Ранее свойство присутствовало только в том случае, если канал был связан с профилем Google+. После установления обморожения собственность больше не будет включена в какие -либо ресурсыcomment
.
Поскольку ни одно из этих свойств не будет возвращено после обтекания, оба свойства были удалены из соответствующей документации по ресурсам.
31 мая 2016 года
Это обновление содержит следующие изменения:
Новый метод
subscriptions.list
Стоимость параметраmyRecentSubscribers
извлекает список подписчиков канала аутентифицированного пользователя в обратном хронологическом порядке того времени, которое они подписались на канал.Обратите внимание, что новый параметр поддерживает только поиск самых последних 1000 подписчиков в канал аутентифицированного пользователя. Чтобы получить полный список подписчиков, используйте параметр
mySubscribers
. Этот параметр, который не возвращает подписчиков в конкретном порядке, не ограничивает количество подписчиков, которые могут быть извлечены.Определение свойства фрагмента .
snippet.thumbnails.(key)
.-
standard
изображение имеет ширину 640px и высотой 480px. - Изображение
maxres
имеет ширину 1280px и высотой 720px.
-
Определение параметра метода канала. Параметр
part
channelSection.list
был обновлен, чтобы отметить, чтоtargeting
часть может быть извлечена по цене2
единиц квот.403
videos.list
.fileDetails
processingDetails
suggestions
video
Эти детали доступны только владельцу видео.
17 мая 2016 года
Новый инструмент фрагментов кода Data API содержит короткие фрагменты кода для общих вариантов использования API Data Data. В настоящее время фрагменты кода доступны для всех методов API только для чтения в сценарии приложений, GO, JavaScript, PHP, Python и Ruby.
Для каждого метода инструмент показывает образцы кода для одного или нескольких вариантов использования. Например, он предоставляет пять фрагментов кода для метода search.list
:
- Список видео по ключевым словам
- Список видео по местоположению
- Список живых событий
- Поиск видео -аутентифицированных видеороликов пользователя
- Список связанных видео
Для каждого варианта использования инструмент отображает параметры, используемые в запросе API. Вы можете изменить значения параметров, и в этом случае инструмент обновляет фрагменты кода, чтобы отразить предоставленные вами значения параметров.
Наконец, инструмент отображает ответ API на каждый запрос. Если вы изменили параметры запроса, ответ API основан на предоставленных значениях параметров. Обратите внимание, что вам необходимо разрешить инструмент для отправки запросов от вашего имени для ответов API на отображение.
28 апреля 2016 года
Это обновление содержит следующие изменения:
Новое свойство
contentDetails.projection
отvideo
ресурса определяет формат проекции видео. Допустимые значения свойств360
иrectangular
.recordingDetails.location
video
-ресурсаfileDetails.recordingLocation
- Свойство
recordingDetails.location
идентифицирует место место, которое владелец видео хочет связать с видео. Это расположение редактируется, доступно для поиска на публичных видео и может быть отображена пользователям для публичных видео. - Значение свойства
fileDetails.recordingLocation
неизбежно и представляет местоположение, связанное с исходным загруженным видеофайлом. Значение видно только для владельца видео.
- Свойство
channel
contentDetails.relatedPlaylists.favorites
. RelatedPlaylists.Favorites. Это связано с тем, что функциональность любимых видео уже устарела. Обратите внимание, что это свойство не подлежит политике снижения API .Определение ошибки
ineligibleAccount
, которая может быть возвращена методомcomments.insert
,comments.update
,commentThreads.insert
илиcommentThreads.update
, было обновлено, чтобы отразить, что ошибка возникает, когда учетная запись YouTube используется для авторизации запроса API не был объединен с учетной записью Google пользователя.
20 апреля 2016 года
Это обновление содержит следующие изменения:
Определение параметра метода канала.
part
методаchannels.update
был обновлен, чтобы отметить, чтоlocalizations
также является допустимым значением для этого параметра.Раздел использования квот руководства по началу работы был обновлен для ссылки на консоли разработчика Google, где вы можете увидеть свою реальную квоту и использование квот.
16 марта 2016 года
Это обновление содержит следующие изменения:
Обновления существующих ресурсов и методов
Документация по ресурсам
channelBanner
была обновлена, чтобы отметить, что рекомендуемый размер для загруженного изображения баннера канала составляет 2560px на 1440px. Минимальный размер (2048px на 1152px) не изменился.Новое свойство ресурса
channel
snippet.customUrl
идентифицирует пользовательский URL -адрес, связанный с каналом. (Не все каналы имеют пользовательские URL -адреса.) Справочный центр YouTube объясняет требования к приемлемости для получения пользовательского URL, а также как настроить URL.Объект
brandingSettings.watch
и все его недвижимость ресурсаchannel
и все его дочерние свойства.Ответ API на запрос
search.list
теперь содержит свойствоregionCode
. Свойство идентифицирует код региона, который использовался для поискового запроса. Код региона инструктирует API вернуть результаты поиска для указанной страны.Стоимость недвижимости представляет собой двухбуктный код страны ISO, который идентифицирует регион. Метод
i18nRegions.list
возвращает список поддерживаемых регионов. Значение по умолчанию -US
. Если указана не поддерживаемая область, YouTube все равно может выбрать другую область, а не значение по умолчанию, для обработки запроса.Определения
snippet.label
ресурсаvideoAbuseReportReason
snippet.secondaryReasons[].label
Кроме того, метод
videoAbuseReportReasons.list
теперь поддерживает параметрhl
, который указывает язык, который следует использовать для текста метки в ответе API. Значение параметра по умолчанию равноen_US
.Новое
video
Property отcontentDetails.contentRating.ecbmctRating
определяет рейтинг видео от Совета по оценке и классификации Турции Министерства культуры и туризма.Кроме того, свойства API для других систем рейтинга поддерживают следующие новые значения свойств:
-
contentDetails.contentRating.fpbRating
(Южная Африка)
Рейтинг: 10; Значение свойства:fpb10
-
contentDetails.contentRating.moctwRating
(Тайвань)
Рейтинг: R-12; Значение свойства:moctwR12
-
contentDetails.contentRating.moctwRating
(Тайвань)
Рейтинг: R-15; Значение свойства:moctwR15
-
Свойство
liveStreamingDetails.activeLiveChatId
отvideo
Resource содержит идентификатор активного живого чата, связанного с видео. Значение свойства присутствует только в том случае, если видео представляет собой текущую живую трансляцию, в которой включен чат в прямом эфире. После того, как трансляция заканчивается, и заканчивается живым чатом, собственность больше не возвращается для видео.status.rejectionReason
video
Resource. Собственность RecemanceReason поддерживает новую стоимость недвижимостиlegal
.
API поддерживает следующие новые ошибки:
Тип ошибки Деталь ошибки Описание badRequest (400)
notEditable
channelSections.insert
,channelSections.update
иchannelSections.delete
Методы отмены возвращают эту ошибку, чтобы указать, что указанный раздел канала не может быть создан, обновлен или удален.badRequest (400)
styleRequired
channelSections.insert
иchannelSections.update
Методы посадки возвращают эту ошибку, чтобы указать, что ресурсchannelSection
представленный в запросе API, должен указать значение для свойстваsnippet.style
.badRequest (400)
typeRequired
channelSection
channelSections.insert
иchannelSections.update
snippet.type
badRequest (400)
processingFailure
Метод commentThreads.list
возвращает эту ошибку, чтобы указать, что сервер API не удалось успешно обработать запрос. Хотя это может быть переходной ошибкой, это обычно указывает на то, что ввод запроса недействителен. Проверьте структуру ресурсаcommentThread
в органе запроса, чтобы убедиться, что он действителен.forbidden (403)
commentsDisabled
Метод commentThreads.list
возвращает эту ошибку, чтобы указать, что видео, идентифицированноеvideoId
Parameter, отключило комментарии.badRequest (400)
commentTextTooLong
Метод commentThreads.insert
возвращает эту ошибку, чтобы указать, что вставленный ресурсcomment
содержит слишком много символов вsnippet.topLevelComment.snippet.textOriginal
.invalidValue (400)
videoAlreadyInAnotherSeriesPlaylist
Метод playlistItems.insert
возвращает эту ошибку, чтобы указать, что видео, которое вы пытаетесь добавить в список воспроизведения, уже в другом списке воспроизведения серии. Посмотрите на справочный центр YouTube для получения дополнительной информации о сериалах.badRequest (400)
subscriptionForbidden
Метод subscriptions.insert
метод возвращает эту ошибку, чтобы указать, что вы достигли максимального количества подписок или что вы создали слишком много недавних подписок. В последнем случае вы можете повторить запрос через несколько часов.badRequest (400)
invalidCategoryId
snippet.categoryId
videos.update
video
Используйте методvideoCategories.list
для получения поддерживаемых категорий.badRequest (400)
invalidDescription
video
videos.update
snippet.description
badRequest (400)
invalidPublishAt
video
videos.update
status.publishAt
badRequest (400)
invalidRecordingDetails
video
videos.update
recordingDetails
badRequest (400)
invalidTags
video
videos.update
snippet.tags
badRequest (400)
invalidTitle
snippet.title
videos.update
video
badRequest (400)
invalidVideoMetadata
Метод videos.update
. Эта ошибка возникает, если запрос обновляетsnippet
частиvideo
ресурса, но не устанавливает значение как для свойствsnippet.title
иsnippet.categoryId
.
18 декабря 2015 г.
Законы Европейского Союза (ЕС) требуют, чтобы определенные раскрытия были предоставлены и соглашались, полученные от конечных пользователей в ЕС. Поэтому для конечных пользователей в Европейском союзе вы должны соблюдать политику согласия пользователя ЕС . Мы добавили уведомление об этом требовании в наших условиях обслуживания на YouTube .
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
insert
orupdate
method 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.defaultLanguage
property. That property identifies the language of the resource'ssnippet.title
andsnippet.description
properties. 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.defaultLanguage
property toen
.Note for updating
channel
resources: To set thesnippet.defaultLanguage
property for achannel
resource, you actually need to update thebrandingSettings.channel.defaultLanguage
property.Add the
localizations
object 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
hl
parameter to yourchannels.list
,channelSections.list
,playlists.list
, orvideos.list
request 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.localized
object will contain the localized values. However, if localized details are not available, thesnippet.localized
object will contain resource details in the resource's default language .For example, suppose a
videos.list
request retrieved data for the video described above with localized German and Spanish data. If thehl
parameter 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
hl
parameter were set tofr
, thesnippet.localized
object would contain the English title and description because English is the default language for the resource, and localized French details are not available.Important: Thehl
parameter 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 thelocalizations
part 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
localizations
in thepart
parameter 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:
Error type Error detail Описание badRequest (400)
defaultLanguageNotSetError
This error indicates that a request that tries to insert or update the localizations
object for a resource is failing because thesnippet.defaultLanguage
property is not set for that resource. Thechannels.update
,channelSections.insert
,channelSections.update
,playlists.insert
,playlists.update
,videos.insert
, andvideos.update
methods support this error.badRequest (400)
localizationValidationError
This error indicates that one of the values in a resource's localizations
object 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.update
methods support this error.
November 4, 2015
This update contains the following changes:
Updates to existing resources and methods
The
search.list
method'sorder
parameter 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.list
method'srelatedToVideoId
parameter 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
video
resource'ssnippet.publishedAt
property 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
video
resource'sstatus.publishAt
property has been updated to note:- If you set this property's value when calling the
videos.update
method, you must also set thestatus.privacyStatus
property value toprivate
even 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.publishAt
property to a past date and time is the same as of changing the video'sprivacyStatus
fromprivate
topublic
.
- If you set this property's value when calling the
The
video
resource'scontentDetails.contentRating.cncRating
property specifies the video's rating from France's Commission de classification cinematographique. This property replaces thecontentDetails.contentRating.fmocRating
property, which is now deprecated.The definition of the
channel
resource's brandingSettings.channel.keywords has 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.set
method 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 athumbnail
resource. 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
activity
resource has been updated to reflect the fact that theactivities.list
method does not currently include resources related to new video comments. The resource'ssnippet.type
andcontentDetails.comment
have been updated as well.
New and updated errors
The API now supports the following errors:
Error details activities.insert
HTTP Response Code badRequest (400)
Причина invalidMetadata
Описание The kind
property does not match the type of ID provided.commentThreads.update
comments.insert
comments.update
HTTP Response Code badRequest (400)
Причина commentTextTooLong
Описание The comment
resource that is being inserted or updated contains too many characters in thesnippet.topLevelComment.snippet.textOriginal
property.playlistItems.insert
playlistItems.update
HTTP Response Code forbidden (403)
Причина playlistItemsNotAccessible
Описание The request is not properly authorized to insert, update, or delete the specified playlist item. playlists.delete
playlists.insert
playlists.update
HTTP Response Code badRequest (400)
Причина playlistForbidden
Описание This operation is forbidden or the request is not properly authorized. search.list
HTTP Response Code badRequest (400)
Причина invalidLocation
Описание The location
and/orlocationRadius
parameter value was formatted incorrectly.search.list
HTTP Response Code badRequest (400)
Причина invalidRelevanceLanguage
Описание The relevanceLanguage
parameter value was formatted incorrectly.subscriptions.insert
HTTP Response Code 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.update
HTTP Response Code badRequest (400)
Причина invalidDefaultBroadcastPrivacySetting
Описание The request attempts to set an invalid privacy setting for the default broadcast.
August 28, 2015
This update contains the following changes:
Updates to existing resources and methods
The
video
resource'sstatistics.favoriteCount
property has been deprecated.In accordance with our deprecation policy, this property will continue to be included in
video
resources for at least one year after this announcement. However, the property value is now always set to0
.
August 7, 2015
This update contains the following changes:
Updates to existing resources and methods
The definition of the
video
resource'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.insert
method no longer supports theshareOnGooglePlus
parameter, 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.
June 18, 2015
This update contains the following changes:
Updates to existing resources and methods
The
commentThreads.list
method's neworder
parameter 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
video
resource's newsnippet.defaultAudioLanguage
property specifies the language spoken in the video's default audio track.The definition of the
video
resource'scontentDetails.licensedContent
property 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.update
methods now support theonBehalfOfContentOwner
parameter, 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/youtubepartner
scope.
New and updated errors
The API now supports the following errors:
Error details videos.rate
HTTP Response Code badRequest (400)
Причина emailNotVerified
Описание The user must verify her email address prior to rating the video. videos.rate
HTTP Response Code badRequest (400)
Причина videoPurchaseRequired
Описание Rental videos can only be rated by users who rented them. The
subscriptions.delete
andsubscriptions.insert
methods no longer support theaccountClosed
andaccountSuspended
errors.
April 27, 2015
This update contains the following changes:
New resources and methods
The new
videoAbuseReportReason
resource contains information about a reason that a video would be flagged for containing abusive content. ThevideoAbuseReportReasons.list
method lets you retrieve a list of all of the reasons why videos might be flagged.The new
videos.reportAbuse
method 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.list
method 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.list
method's newforDeveloper
filter parameter restricts a search to only retrieve videos uploaded via the developer's application or website. TheforDeveloper
parameter can be used in conjunction with optional search parameters like theq
parameter.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
forDeveloper
parameter 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
channel
resource's newsnippet.country
property lets channel owners associate their channels with a particular country.Note: To set the
snippet.country
property for achannel
resource, you actually need to update thebrandingSettings.channel.country
property.The API now supports targeting for
channelSection
resources. 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
video
resource'scontentDetails.duration
property 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.delete
method has been corrected to reflect that, when successful, those methods all return an HTTP204
response code (No Content
).
New and updated errors
The API now supports the following errors:
Error type Error detail Описание badRequest (400)
targetInvalidCountry
The channelSections.insert
andchannelSections.update
methods return this error if the insertedchannelSection
resource contained an invalid value for thetargeting.countries[]
property.badRequest (400)
targetInvalidLanguage
The channelSections.insert
andchannelSections.update
methods return this error if the insertedchannelSection
resource contained an invalid value for thetargeting.languages[]
property.badRequest (400)
targetInvalidRegion
The channelSections.insert
andchannelSections.update
methods return this error if the insertedchannelSection
resource contained an invalid value for thetargeting.regions[]
property.badRequest (400)
operationNotSupported
The comments.insert
method returns this error if the API user is not able to insert a comment in reply to the top-level comment identified by thesnippet.parentId
property. In acommentThread
resource, thesnippet.canReply
property indicates whether the current viewer can reply to the thread.badRequest (400)
invalidChannelId
The search.list
method returns this error if thechannelId
parameter in the request specified an invalid channel ID.badRequest (400)
subscriptionForbidden
The subscriptions.insert
method returns this error if the API user tries to subscribe to the user's own channel.The
captions.update
method no longer supports theinvalidMetadata
andvideoNotFound
errors.
April 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.
April 9, 2015
This update contains the following changes:
The API's new
commentThread
andcomment
resources let you retrieve, insert, update, delete, and moderate comments.A
commentThread
resource contains information about a YouTube comment thread, which comprises a top-level comment and replies, if any exist, to that comment. AcommentThread
resource can represent comments about either a video or a channel.The top-level comment and the replies are actually
comment
resources that are nested inside thecommentThread
resource. It is important to note that thecommentThread
resource does not necessarily contain all replies to a comment, and you need to use thecomments.list
method 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
commentThread
resources:-
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.insert
method to reply to an existing comment.) -
commentThreads.update
– Modify a top-level comment.
-
A
comment
resource contains information about a single YouTube comment. Acomment
resource 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
comment
resources:-
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-ssl
scope, 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.update
methods.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-ssl
scope is now a valid scope for any API method that previously supported thehttps://www.googleapis.com/auth/youtube
scope.The API now supports the following errors:
Error type Error detail Описание badRequest (400)
invalidRating
The videos.rate
method returns this error if the request contained an unexpected value for therating
parameter.The
subscriptions.insert
method no longer supports thesubscriptionLimitExceeded
error, which previously indicated that the subscriber identified with the request had exceeded the subscription rate limit.
April 2, 2015
This update contains the following changes:
The new
captions
resource 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-ssl
scope 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/youtube
scope. 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/youtube
scope 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
caption
resource's methods.
March 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.list
method and setting thehome
parameter value totrue
.In the API response, a resource corresponds to a recommended video if the
snippet.type
property's value isrecommendation
. In that case, thecontentDetails.recommendation.reason
andcontentDetails.recommendation.seedResourceId
properties 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.list
method and setting thehome
parameter value totrue
.In the API response, a resource corresponds to a new subscription video if the
snippet.type
property'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
orderby
parameter 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
- понравившиеся видео
- watch history
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.list
methods all support anid
parameter, 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).
March 4, 2015
This update contains the following changes:
The
channelSections.delete
andchannelSections.update
methods now support theonBehalfOfContentOwner
parameter, 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
video
resource's newcontentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons
property identifies the reasons that explain why the video received its DJCQT (Brazil) rating.The API now supports the following errors:
Error type Error detail Описание notFound (404)
channelNotFound
The channels.update
method returns this error if the request'sid
parameter specifies a channel that cannot be found.badRequest (400)
manualSortRequiredinvalidValue
The playlistItems.insert
andplaylistItems.update
methods 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.position
element 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)
channelClosed
The playlists.list
method returns this error if the request'schannelId
parameter specifies a channel that has been closed.forbidden (403)
channelSuspended
The playlists.list
method returns this error if the request'schannelId
parameter specifies a channel that has been suspended.forbidden (403)
playlistForbidden
The playlists.list
method returns this error if the request'sid
parameter does not support the request or the request is not properly authorized.notFound (404)
channelNotFound
The playlists.list
method returns this error if the request'schannelId
parameter specifies a channel that cannot be found.notFound (404)
playlistNotFound
The playlists.list
method returns this error if the request'sid
parameter specifies a playlist that cannot be found.notFound (404)
videoNotFound
The videos.list
method returns this error if the request'sid
parameter specifies a video that cannot be found.badRequest (400)
invalidRating
The videos.rate
method returns this error if the request contains an unexpected value for therating
parameter.
March 2, 2015
This update contains the following changes:
The
search.list
method now supports therelevanceLanguage
parameter, 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.
January 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.insert
method 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.
November 11, 2014
This update contains the following changes:
The quota cost for a call to the
search.list
method 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.list
method and search forGoogleDevelopers
.Quota cost: 6 units
Call the
channels.list
method to find the right channel ID. Set theforUsername
parameter toGoogleDevelopers
and thepart
parameter tocontentDetails
. In the API response, thecontentDetails.relatedPlaylists.uploads
property specifies the playlist ID for the channel's uploaded videos.Then call the
playlistItems.list
method and set theplaylistId
parameter to the captured ID and thepart
parameter tosnippet
.
October 8, 2014
This update contains the following changes:
The
channel
resource contains two new properties:The
status.longUploadsStatus
property 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.useSmartTiming
property 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
video
resource'ssnippet.title
andsnippet.categoryId
properties have both been updated to clarify the way that API handles calls to thevideos.update
method. If you call that method to update thesnippet
part of avideo
resource, you must set a value for both of those properties.If you try to update the
snippet
part of avideo
resource and do not set a value for both of those properties, the API returns aninvalidRequest
error. That error's description has also been updated.The
video
resource'scontentDetails.contentRating.oflcRating
property, which identifies a video's rating from New Zealand's Office of Film and Literature Classification, now supports two new ratings:oflcRp13
andoflcRp16
. These correspond to theRP13
andRP16
ratings, respectively.The
channelBanners.insert
method now supports the following error:Error type Error detail Описание badRequest
bannerAlbumFull
The 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.
September 12, 2014
This update contains the following changes:
The quota cost for a call to the
search.list
method has changed from 1 unit to 2 units in addition to the cost of the specified resource parts .
August 13, 2014
This update contains the following changes:
The
subscriptions.insert
method now supports the following error:Error type Error detail Описание badRequest
subscriptionLimitExceeded
The subscriber identified with the request has exceeded the subscription rate limit. More subscriptions can be attempted in a few hours.
August 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.
July 8, 2014
This update contains the following changes:
The
playlists.insert
method now supports the following error:Error type Error detail Описание badRequest
maxPlaylistExceeded
This error occurs if a playlist cannot be created because the channel already has the maximum number of playlists allowed.
June 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
part
parameters 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.insert
method has a quota cost of approximately 50 units. Thesubscription
resource 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
video
resource 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 .
May 28, 2014
This update contains the following changes:
The
search.list
method now supports thelocation
andlocationRadius
parameters, 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
location
parameter specifies the latitude/longitude coordinates at the center of the circular geographic area.The
locationRadius
parameter 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.
May 13, 2014
This update contains the following changes:
The
channel
resource'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 atooManyPromotedItems
error, which has an HTTP400
status code.The
channelSection
resource now can contain information about a few new types of featured content. ThechannelSection
resource'ssnippet.type
property 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
video
resource's newcontentDetails.contentRating.ifcoRating
property identifies the rating that a video received from the Irish Film Classification Office.The definition of the
watermark
resource'sposition.cornerPosition
property has been updated to note that the watermark always appear in the upper right corner of the player.The definition of the
q
parameter for thesearch.list
method 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.totalResults
property that is returned in an API response to asearch.list
call 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 thenextPageToken
andprevPageToken
property values to determine whether to show pagination links.The
watermarks.set
andwatermarks.unset
methods have been updated to reflect that the API returns an HTTP204
response code for successful requests to those methods.
May 2, 2014
This update contains the following changes:
The new
i18nLanguage
resource 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
hl
parameter when calling API methods likevideoCategories.list
andguideCategories.list
.The new
i18nRegion
resource 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
regionCode
parameter when calling API methods likesearch.list
,videos.list
,activities.list
, andvideoCategories.list
.
April 7, 2014
This update contains the following changes:
The new
channelSection
resource 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
video
resource'sfileDetails
object has been updated to explain that that object will only be returned if the video'sprocessingDetails.fileDetailsAvailability
property has a value ofavailable
.Similarly, the definition of the
video
resource'ssuggestions
object has been updated to explain that that object will only be returned if the video'sprocessingDetails.tagSuggestionsAvailability
property or itsprocessingDetails.editorSuggestionsAvailability
property has a value ofavailable
.The documentation for the
videos.insert
andvideos.update
methods has been updated to reflect that thestatus.publishAt
property can be set when calling those methods.The definition of the
channel
resource'sinvideoPromotion
object has been updated to explain that the object can only be retrieved by the channel's owner.The parameter list for the
videos.rate
method has been updated to reflect that that method does not actually support theonBehalfOfContentOwner
parameter. This was a documentation error asvideos.rate
requests that set this parameter return a500
error.
March 31, 2014
This update contains the following changes:
The
video
resource's newstatus.publishAt
property 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 isprivate
and the video has never been published. This new property is not subject to the deprecation policy .
March 13, 2014
This update contains the following changes:
The API now supports the
contentOwnerDetails
part forchannel
resources. 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:
Ресурс Свойство Максимальная длина channel
invideoPromotion.items[].customMessage
40 characters video
snippet.title
100 characters video
snippet.description
5000 bytes video
snippet.tags
500 characters. Note that the property value is a list and that commas between items in the list count toward the limit. The
channel
resource'sbrandingSettings.watch.featuredPlaylistId
property has been deprecated. The API will return an error if you attempt to set its value.The following
video
resource 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:
Error type Error detail Описание badRequest (400)
invalidCriteria
The channels.list
method returns this error if the request specifies filter parameters that cannot be used in conjunction with each other.badRequest (400)
channelTitleUpdateForbidden
The channels.update
method returns this error if you attempt to update a channel'sbrandingSettings
part and change the value of thebrandingSettings.channel.title
property. (Note that the API does not return the error if you omit the property.)badRequest (400)
invalidRecentlyUploadedBy
The channels.update
method returns this error if theinvideoPromotion.items[].id.recentlyUploadedBy
property specifies an invalid channel ID.badRequest (400)
invalidTimingOffset
The channels.update
method returns this error if theinvideoPromotion
part specifies an invalid timing offset.badRequest (400)
tooManyPromotedItems
The channels.update
method returns this error if theinvideoPromotion
part specifies more than the allowed number of promoted items.forbidden (403)
promotedVideoNotAllowed
The channels.update
method returns this error if theinvideoPromotion.items[].id.videoId
property specifies a video ID that either cannot be found or cannot be used as a promoted item.forbidden (403)
websiteLinkNotAllowed
The channels.update
method returns this error if theinvideoPromotion.items[].id.websiteUrl
property specifies a URL that is not allowed.required (400)
requiredTimingType
The channels.update
method returns this error if a request does not specify default timing settings for when YouTube should display a promoted item.required (400)
requiredTiming
The channels.update
method must specify aninvideoPromotion.items[].timing
object for each promoted item.required (400)
requiredWebsiteUrl
The channels.update
method must specify aninvideoPromotion.items[].id.websiteUrl
property for each promoted item.badRequest (400)
invalidPublishAt
The videos.insert
method returns this error if the request metadata specifies an invalid scheduled publishing time.
March 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.
December 5, 2013
This update contains the following changes:
The
search.list
method'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.list
method's parameters have been updated to note that you must set thetype
parameter's value tovideo
if 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
channel
resource documentation specifies the maximum sizes of all of the banner images served from the API. For example, the maximum size of thebrandingSettings.image.bannerTvImageUrl
image 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
channel
resource property definitions have been updated to reflect the following information:- The
brandingSettings.channel.description
property's value has a maximum length of 1000 characters. - The
brandingSettings.channel.featuredChannelsTitle
property has a maximum length of 30 characters. - The
brandingSettings.channel.featuredChannelsUrls[]
property can now list up to 100 channels. - The
brandingSettings.channel.unsubscribedTrailer
property 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.update
method now supports updates to theinvideoPromotion.items[].promotedByContentOwner
property. 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 theonBehalfOfContentOwner
parameter.The
playlistItems.list
andplaylistItems.insert
methods now support theonBehalfOfContentOwner
parameter, which is already supported for several other methods.The
contentDetails.contentRating.acbRating
property 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.catvRating
andcontentDetails.contentRating.catvfrRating
properties 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
videoCategory
resource's newsnippet.assignable
property 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)
-
October 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.liveBroadcastContent
property in search results indicates whether a video or channel resource has live broadcast content. Valid property values areupcoming
,active
, andnone
.The
video
resource's newsnippet.liveBroadcastContent
property 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
video
resource's newliveStreamingDetails
property is an object that contains metadata about a live video broadcast. To retrieve this metadata, includeliveStreamingDetails
in thepart
parameter 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
liveStreamingDetails
in thepart
parameter value when calling thevideos.list
,videos.insert
, orvideos.update
method.-
Note that two other features for identifying live broadcast content were released on October 1, 2013 – the
search.list
method'seventType
parameter and the search result'ssnippet.liveBroadcastContent
property.The
videos.insert
method now supports thenotifySubscribers
parameter, 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 toFalse
to 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.update
method has been updated to include theinvideoPromotion.items[].customMessage
andinvideoPromotion.items[].websiteUrl
properties. In addition, the list has been modified to identify thebrandingSettings
properties that are modifiable. ThesebrandingSettings
properties were already modifiable, so the documentation change does not reflect a change to the API's existing functionality.The
playlists.insert
,playlists.update
, andplaylists.delete
methods now support theonBehalfOfContentOwner
parameter, which is already supported for several other methods.The
playlists.insert
method now supports theonBehalfOfContentOwnerChannel
parameter, which is already supported for several other methods.The
video
resource'scontentDetails.contentRating.tvpgRating
property now supports a value ofpg14
, which corresponds to aTV-14
rating.The definition of the
snippet.liveBroadcastContent
property, which is part of search results, has been corrected to reflect thatlive
is a valid property value, butactive
is not a valid property value.The
video
resource'scontentDetails.contentRating.mibacRating
property 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
channel
resource's newinvideoPromotion.items[].promotedByContentOwner
property 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 theonBehalfOfContentOwner
parameter for more information.
October 1, 2013
This update contains the following changes:
The
channel
resource's newauditDetails
object 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-audit
scope. 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
channel
resource'sinvideoPromotion.items[].id.type
property 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.recentlyUploadedBy
property to the channel ID for that channel.The
channel
resource 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.liveBroadcastContent
property in search results indicates whether a video or channel resource has live broadcast content. Valid property values areupcoming
,active
, andnone
.- For a
video
resource, a value ofupcoming
indicates that the video is a live broadcast that has not yet started, while a value ofactive
indicates that the video is an ongoing live broadcast. - For a
channel
resource, a value ofupcoming
indicates that the channel has a scheduled broadcast that has not yet started, while a value ofacive
indicates that the channel has an ongoing live broadcast.
- For a
In the
watermark
resource, thetargetChannelId
property 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, thetargetChannelId
property now specifies that value itself. Accordingly, the resource'stargetChannelId.value
property has been removed.The
thumbnails.set
method now supports theonBehalfOfContentOwner
parameter, which is already supported for several other methods.The
search.list
method now supports theeventType
parameter, which restricts a search to only return either active, upcoming, or completed broadcast events.The new
contentDetails.contentRating.mibacRating
property 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:
Error type Error detail Описание badRequest
invalidImage
The thumbnails.set
method returns this error if the provided image content is invalid.forbidden
videoRatingDisabled
The videos.rate
method returns this error if the owner of the video that is being rated has disabled ratings for that video.
August 27, 2013
This update contains the following changes:
The new
watermark
resource 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.set
method uploads and sets a channel's watermark image. Thewatermarks.unset
method deletes a channel's watermark image.The error documentation describes the error messages that the API supports specifically for the
watermarks.set
andwatermarks.unset
methods.The
channel
resource's newstatistics.hiddenSubscriberCount
property contains a boolean value that indicates whether the channel's number of subscribers is hidden. As such, the property's value isfalse
if the channel's subscriber count is publicly visible.The
playlists.list
method now supports theonBehalfOfContentOwner
andonBehalfOfContentOwnerChannel
parameters. Both parameters are already supported for several other methods.The
videos.list
method now supports theregionCode
parameter, which identifies the content region for which a chart should be retrieved. This parameter can only be used in conjunction with thechart
parameter. The parameter value is an ISO 3166-1 alpha-2 country code.The
error documentation
describes the following new common request error, which could occur for multiple API methods:Error type Error detail Описание forbidden
insufficientPermissions
The scopes associated with the OAuth 2.0 token provided for the request are insufficient for accessing the requested data.
August 15, 2013
This update contains the following changes:
The
channel
resource'sinvideoPromotion
object 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.type
property value towebsite
and use the newinvideoPromotion.items[].id.websiteUrl
property to specify the URL. Also use the newinvideoPromotion.items[].customMessage
property 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.timing
object 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.defaultTiming
object 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[].timing
object.The new
invideoPromotion.items[].timing.durationMs
property specifies the amount of time, in milliseconds, that the promotion should display. TheinvideoPromotion.defaultTiming
object also contains adurationMs
field that specifies the default amount of time that the promoted item will display.
The
invideoPromotion.items[].type
andinvideoPromotion.items[].videoId
properties both have been moved into theinvideoPromotion.items[].id
object.
The
subscriptions.list
method now supports theonBehalfOfContentOwner
andonBehalfOfContentOwnerChannel
parameters. Both parameters are already supported for several other methods.In the API response to a
thumbnails.set
request, thekind
property value has changed fromyoutube#thumbnailListResponse
toyoutube#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.insert
method was also removed since the functionality it demonstrated is now handled by thevideos.rate
method.-
The
error documentation
describes the following new request context error, which could occur for any API method that supports themine
request parameter:Error type Error detail Описание badRequest
invalidMine
The mine
parameter cannot be used in requests where the authenticated user is a YouTube partner. You should either remove themine
parameter, authenticate as a YouTube user by removing theonBehalfOfContentOwner
parameter, or act as one of the partner's channels by providing theonBehalfOfContentOwnerChannel
parameter if available for the called method.
August 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.
July 30, 2013
This update contains the following changes:
In a
channelBanner
resource, the value of thekind
property's value has changed fromyoutube#channelBannerInsertResponse
toyoutube#channelBannerResource
. This resource is returned in response to achannelBanners.insert
request.The
channel
resource's newbrandingSettings.channel.profileColor
property 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
subscription
resource's newcontentDetails.activityType
property identifies the types of activities that the subscriber will be notified about. Valid property values areall
anduploads
.The
videos.list
method supports new parameters for retrieving a chart of the most popular videos on YouTube:- The
chart
parameter identifies the chart that you want to retrieve. Currently, the only supported value ismostPopular
. Note that thechart
parameter is a filter parameter, which means it cannot be used in the same request as other filter parameters (id
andmyRating
). - The
videoCategoryId
parameter identifies the video category for which the chart should be retrieved. This parameter can only be used in conjunction with thechart
parameter. By default, charts are not restricted to a particular category.
- The
The
video
resource'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
video
resource'srecordingDetails.location.elevation
property has been renamed torecordingDetails.location.altitude
, and itsfileDetails.recordingLocation.location.elevation
property has been renamed tofileDetails.recordingLocation.location.altitude
.The
video
resource'scontentDetails.contentRating
object 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
video
resource's newcontentDetails.contentRating.ytRating
property identifies age-restricted content. The property value will beytAgeRestricted
if 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.list
method'smySubscribers
parameter has been deprecated. Use thesubscriptions.list
method and itsmySubscribers
parameter to retrieve a list of subscribers to the authenticated user's channel.The
channelBanners.insert
,channels.update
,videos.getRating
, andvideos.rate
methods all now support theonBehalfOfContentOwner
parameter. That parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value.The
channels.update
method's documentation has been updated to reflect the fact that that method can be used to update thechannel
resource'sbrandingSettings
object and its child properties. The documentation also now lists the updated list of properties that you can set for thechannel
resource'sinvideoPromotion
object.The
error documentation
describes the following new errors:Error type Error detail Описание forbidden
accountDelegationForbidden
This 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. forbidden
authenticatedUserAccountClosed
This 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. forbidden
authenticatedUserAccountSuspended
This 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. forbidden
authenticatedUserNotChannel
This 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 onBehalfOfContentOwner
parameter, you should also set theonBehalfOfContentOwnerChannel
parameter.forbidden
cmsUserAccountNotFound
This error is not specific to a particular API method. The CMS user is not allowed to act on behalf of the specified content owner. notFound
contentOwnerAccountNotFound
This error is not specific to a particular API method. The specified content owner account was not found. badRequest
invalidPart
This error is not specific to a particular API method. The request's part
parameter specifies parts that cannot be written at the same time.badRequest
videoChartNotFound
The videos.list
method returns this error when the request specifies an unsupported or unavailable video chart.notFound
videoNotFound
The videos.update
method returns this error to indicate that the video you are trying to update cannot be found. Check the value of theid
property in the request body to ensure it is correct.
June 10, 2013
This update contains the following changes:
The
channels.list
method's newforUsername
parameter enables you to retrieve information about a channel by specifying its YouTube username.The
activities.list
method now supports theregionCode
parameter, 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.tags
property. 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.insert
orplaylists.update
methods.The
onBehalfOfContentOwner
parameter, which was previously supported for thechannels.list
andsearch.list
methods, is now also supported for thevideos.insert
,videos.update
, andvideos.delete
methods. Note that when this parameter is used in a call to thevideos.insert
method, the request must also specify a value for the newonBehalfOfContentOwnerChannel
parameter, which identifies the channel to which the video will be added. The channel must be linked to the content owner that theonBehalfOfContentOwner
parameter 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 documentation
describes the following new errors:Error type Error detail Описание forbidden
insufficientCapabilities
This 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 onBehalfOfContentOwner
parameter, which is supported for several API methods.unauthorized
authorizationRequired
The activities.list
method returns this error when the request uses thehome
parameter but is not properly authorized.In the
channels
resource, theinvideoPromotion.channelId
property has been removed because the channel ID is already specified using the resource'sid
property.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
default
user or that rely on the notion that every YouTube channel has a unique username, which is no longer the case.
May 22, 2013
This update contains the following changes:
The new
channelBanners.insert
method enables you to upload a banner image that can subsequently be set as the banner image for a channel using thechannel
resource's newbrandingSettings.image.bannerExternalUrl
property.The documentation for the
channels.update
method has been updated to list the properties that can be modified when calling the method.The
video
resource documentation no longer listsunspecified
as a valid property value for thesuggestions.processingErrors[]
,suggestions.processingHints[]
,suggestions.processingWarnings[]
, andsuggestions.editorSuggestions[]
properties.The
videos.list
method'smaxResults
parameter now has a default value of5
.The
error documentation
now lists errors for thechannelBanners.insert
andsubscriptions.list
methods. It also lists several new errors for thechannels.update
method.
May 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.
May 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 .
May 8, 2013
This update contains the following changes:
Channel resources now support the
inVideoPromotion
object, 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
invideoPromotion
in thepart
parameter value in achannels.list
request.The new
channels.update
method can be used to update a channel's in-video promotional campaign data. Note that the method only supports updates to theinvideoPromotion
part of thechannel
resource and does not yet support updates to other parts of that resource.
May 2, 2013
This update contains the following changes:
Channel resources now support the
status.isLinked
property, 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
subscriberSnippet
part. That object encapsulates contains snippet data for the subscriber's channel.The API now supports the
videos.getRating
method, which retrieves the ratings that the authenticated user gave to a list of one or more videos.The
videos.list
method's newmyRating
parameter enables you to retrieve a list of videos that the authenticated user rated with alike
ordislike
rating.The
myRating
parameter and theid
parameter are both now considered filter parameters, which means that an API request must specify exactly one of the parameters. (Previously, theid
parameter was a required parameter for this method.)The method returns a
forbidden
error for requests that attempt to retrieve video rating information but are not properly authorized to do so.With the introduction of the
myRating
parameter, thevideos.list
method has also been updated to support pagination. Note, however, that paging parameters are only supported for requests using themyRating
parameter. (Paging parameters and information are not supported for requests that use theid
parameter.)The
maxResults
parameter specifies the maximum number of videos that the API can return in the result set, and thepageToken
parameter identifies a specific page in the result set that you want to retrieve.The
youtube#videoListResponse
resource, which is returned in response to avideos.list
request, now contains thepageInfo
object, which contains details like the total number of results and the number of results included in the current result set. Theyoutube#videoListResponse
resource can also includenextPageToken
andprevPageToken
properties, each of which provides a token that could be used to retrieve a specific page in the result set.
The
videos.insert
method supports the following new parameters:-
autoLevels
– Set this parameter value totrue
to instruct YouTube to automatically enhance the video's lighting and color. -
stabilize
– Set this parameter value totrue
to instruct YouTube to adjust the video by removing shakiness resulting from camera motions.
-
The
channelTitle
property has been added to thesnippet
for 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.list
method's newmySubscribers
parameter 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
mySubscribers
parameter currently supported for thechannels.list
method. That parameter will be deprecated.In a
video
resource, the property valueunspecified
is no longer a possible value for any of the following properties:API requests that contain an unexpected parameter now return a
badRequest
error, and the reported reason for the error isunexpectedParameter
.The error that the
playlistItems.insert
method returns when the playlist already contains the maximum number of allowed items has been updated. The error is now reported as aforbidden
error, and the error reason isplaylistContainsMaximumNumberOfVideos
.
April 19, 2013
This update contains the following changes:
The new
videos.rate
method lets a user set alike
ordislike
rating 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.rate
method call.Thumbnail images are now identified in the API documentation as a separate resource , and the new
thumbnails.set
method 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.set
method 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
channel
resource's newbrandingSettings
part identifies settings, text, and images for the channel's channel page and video watch pages.The
playlistItem
resource contains the following new properties:The new
status
object encapsulates status information about the playlist item, and thestatus.privacyStatus
property identifies the playlist item's privacy status.
The
video
resource contains the following new properties:The
status.publicStatsViewable
property 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.insert
orvideos.update
method.The
contentDetails.contentRating
object 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.Страна Rating system Свойство United States Motion Picture Association of America (MPAA) contentDetails.contentRating.mpaaRating
United States TV Parental Guidelines contentDetails.contentRating.tvpgRating
Австралия Australian Classification Board (ACB) contentDetails.contentRating.acbRating
Бразилия Departamento de Justiça, Classificação, Qualificação e Títulos contentDetails.contentRating.djctqRating
Канада Canadian Home Video Rating System (CHVRS) contentDetails.contentRating.chvrsRating
Франция Centre national du cinéma et de l'image animée (French Ministry of Culture) contentDetails.contentRating.fmocRating
Германия Freiwillige Selbstkontrolle der Filmwirtschaft (FSK) contentDetails.contentRating.fskRating
Великобритания British Board of Film Classification (BBFC) contentDetails.contentRating.bbfcRating
Индия Central Board of Film Certification (CBFC) contentDetails.contentRating.cbfcRating
Япония 映倫管理委員会 (EIRIN) contentDetails.contentRating.eirinRating
Корея 영상물등급위원회 (KMRB) contentDetails.contentRating.kmrbRating
Мексика General Directorate of Radio, Television and Cinematography (RTC) contentDetails.contentRating.rtcRating
Новая Зеландия Office of Film and Literature Classification contentDetails.contentRating.oflcRating
Россия National Film Registry of the Russian Federation contentDetails.contentRating.russiaRating
Испания Instituto de la Cinematografía y de las Artes Audiovisuales (ICAA) contentDetails.contentRating.icaaRating
The
playlistItems.update
method's documentation has been updated to reflect the fact that thesnippet.resourceId
property must be specified in the resource sent as the request body.The
search.list
method now supports the following functionality:The new
forMine
parameter restricts a search to only retrieve the authenticated user's videos.The
order
parameter now supports the ability to sort results alphabetically by title (order=title
) or by video count in descending order (order=videoCount
).The new
safeSearch
parameter indicates whether search results should include restricted content.
The
videos.insert
method supports several new errors, which are listed in the table below:Error type Error detail Описание badRequest
invalidCategoryId
The snippet.categoryId
property specifies an invalid category ID. Use thevideoCategories.list
method to retrieve supported categories.badRequest
invalidRecordingDetails
The metadata specifies invalid recording details.
badRequest
invalidVideoGameRating
The request metadata specifies an invalid video game rating. badRequest
invalidVideoMetadata
The request metadata is invalid. The
onBehalfOfContentOwner
parameter has been removed from the list of supported parameters for thevideos.update
andvideos.delete
methods.
March 12, 2013
This update contains the following changes:
The
channelTitle
property has been added to thesnippet
for the following resources:The
search.list
method supports the following new parameters:The
channelType
parameter lets you restrict a search for channels to retrieve all channels or to retrieve only shows.The
videoType
parameter 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
video
resource'srecordingDetails
part 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.update
method now returns aninvalidSnippet
error, 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
onBehalfOfContentOwner
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.
The
channels.list
,search.list
,videos.delete
,videos.list
, andvideos.update
methods all support this parameter.The
managedByMe
parameter, which is supported by thechannels.list
method, instructs the API to return all channels owned by the content owner that theonBehalfOfContentOwner
parameter specifies.The
forContentOwner
parameter, which is supported by thesearch.list
method, instructs the API to restrict search results to only include resources that are owned by the content owner that theonBehalfOfContentOwner
parameter specifies.
February 25, 2013
This update contains the following changes:
The API supports several new parts and properties for
video
resources:The new
fileDetails
,processingDetails
, andsuggestions
parts 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
video
resource documentation defines all of the properties that each part contains.The
fileDetails
object 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
processingProgress
object 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
suggestions
object contains suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video.
The
contentDetails
part 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
status
part 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 arecreativeCommon
andyoutube
.
-
The definition of the
part
parameter has been updated for thevideos.list
,videos.insert
, andvideos.update
methods to list the newly added parts described above as well as therecordingDetails
part, which had been inadvertently omitted.The
channel
resource's newcontentDetails.googlePlusUserId
property 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
, andvideo
resources.The
playlistItems.list
now supports thevideoId
parameter, which can be used in conjunction with theplaylistId
parameter to only retrieve the playlist item that represents the specified video.The API returns a
notFound
error if the video that the parameter identifies cannot be found in the playlist.The error documentation describes a new
forbidden
error, which indicates that a request is not properly authorized for the requested action.The
channel
resource'ssnippet.channelId
property has been removed. The resource'sid
property provides the same value.
January 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.
January 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
activity
resource can now report achannelItem
action, 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.list
parameters have been updated:- The
q
parameter is no longer designated as a filter, which means .... - The
relatedToVideo
parameter has been renamedrelatedToVideoId
. - The
published
parameter has been replaced with two new parameters,publishedAfter
andpublishedBefore
, which are described below.
- The
The
search.list
method supports the following new parameters:Имя параметра Ценить Описание channelId
string
Return resources created by the specified channel. publishedAfter
datetime
Return resources created after the specified time. publishedBefore
datetime
Return resources created before the specified time. regionCode
string
Return resources for the specified country. videoCategoryId
string
Filter video search results to only include videos associated with the specified video category . videoEmbeddable
string
Filter video search results to only include videos that can be played in an embedded player on a web page. Set the parameter value to true
to only retrieve embeddable videos.videoSyndicated
string
Filter video search results to only include videos that can be played outside of YouTube.com. Set the parameter value to true
to only retrieve syndicated videos.Several API resources support new properties. The table below identifies the resources and their new properties:
Ресурс Property name Ценить Описание activity
contentDetails.playlistItem.playlistItemId
string
The playlist item ID that YouTube assigned to uniquely identify the item in the playlist. activity
contentDetails.channelItem
object
An object that contains information about a resource that was added to a channel. This property is only present if the snippet.type
ischannelItem
.activity
contentDetails.channelItem.resourceId
object
An object that identifies the resource that was added to the channel. Like other resourceId
properties, it contains akind
property 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.channel
status
object
This object encapsulates information about the channel's privacy status. channel
status.privacyStatus
string
The channel's privacy status. Valid values are private
andpublic
.playlist
contentDetails
object
This object contains metadata about the playlist's content. playlist
contentDetails.itemCount
unsigned integer
The number of videos in the playlist. playlist
player
object
This object contains information that you would use to play the playlist in an embedded player. playlist
player.embedHtml
string
An <iframe>
tag that embeds a video player that plays the playlist.video
recordingDetails
object
This object encapsulates information that identifies or describes the place and time that the video was recorded. video
recordingDetails.location
object
This object contains geolocation information associated with the video. video
recordingDetails.location.latitude
double
Latitude in degrees. video
recordingDetails.location.longitude
double
Longitude in degrees. video
recordingDetails.location.elevation
double
Altitude above the Earth, in meters. video
recordingDetails.locationDescription
string
A text description of the location where the video was recorded. video
recordingDetails.recordingDate
datetime
The 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.
Method Характеристики activities.insert
Required properties: -
snippet.description
-
snippet.description
-
contentDetails.bulletin.resourceId
playlists.update
Required properties: -
id
playlistItems.update
Required properties: -
id
videos.update
Required properties: -
id
-
The API no longer reports a
playlistAlreadyExists
error 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:
Method Error type Error detail Описание guideCategories.list
notFound
notFound
The guide category identified by the id
parameter cannot be found. Use the guideCategories.list method to retrieve a list of valid values.playlistItems.delete
forbidden
playlistItemsNotAccessible
The request is not properly authorized to delete the specified playlist item. videoCategories.list
notFound
videoCategoryNotFound
The video category identified by the id
parameter cannot be found. Use the videoCategories.list method to retrieve a list of valid values.