История изменений

На этой странице перечислены изменения в YouTube Data API (v3) и обновления документации.

2 ноября 2026 г.

Видео, загруженные с помощью метода videos.insert из неподтвержденных проектов API, больше не ограничиваются режимом личного просмотра. Это изменение отменяет правило, объявленное 28 июля 2020 года, согласно которому видео, загруженные из непроверенных проектов API, созданных после этой даты, ограничивались режимом частного просмотра до тех пор, пока проект не проходил аудит.

Если вы не укажете значение свойства status.privacyStatus в запросе videos.insert, то по умолчанию для загруженного видео будет установлен статус конфиденциальности public. Для некоторых загрузок по умолчанию может быть выбрана лицензия "private" в зависимости от настроек аккаунта автора, как описано в Справочном центре YouTube.

15 октября 2026 г.

В описание метода videos.list добавлено примечание о том, что свойства status.selfDeclaredMadeForKids и status.madeForKids обновляются, только если они указаны в запросе, и не переопределяются, если они опущены.

30 сентября 2026 г.

Определение ресурса comments было обновлено и теперь включает новое свойство snippet.imageUrl, которое предоставляет URL изображения или анимированного GIF-файла, прикрепленного к комментарию.

Эта функция станет доступна всем пользователям в ноябре 2026 г.

14 сентября 2026 г.

В это обновление вошли следующие изменения.

  • В описание метода thumbnails.set добавлено примечание о том, что максимальный размер файла для загружаемых значков увеличен с 2 до 50 МБ.
  • В описание метода playlistImages.insert добавлено примечание о том, что максимальный размер загружаемых изображений увеличен с 2 до 50 МБ.

11 сентября 2026 г.

В справочной документации по ресурсам activities, liveBroadcasts, playlistItems, playlists, search и videos обновлено определение свойства snippet.thumbnails.(key). Теперь в нем указано, что для некоторых видео доступны значки с более высоким разрешением: fhd (1080p), qhd (1440p) и uhd (4K).

1 сентября 2026 г.

Теперь метод videos.getRating принимает область авторизации https://www.googleapis.com/auth/youtube.readonly.

27 августа 2026 г.

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

Это не повлияет на соответствие требованиям монетизации и большинство основных показателей эффективности, поскольку они по-прежнему основаны на показателях взаимодействий. Доход авторов по-прежнему будет зависеть от количества заинтересованных просмотров Shorts и часов заинтересованного просмотра. Эти показатели можно найти в расширенном режиме YouTube Аналитики.

Требования для участия в Партнерской программе YouTube не изменятся. Теперь мы будем называть пороговые значения для участия в Партнерской программе YouTube "учитываемыми просмотрами Shorts" и "учитываемыми часами просмотра". Ранее мы использовали термины "действительные общедоступные просмотры Shorts" и "действительные часы просмотра общедоступных видео".

Подробнее об анализе эффективности контента на YouTube…

Показатель Статус Триггер Назначение
Открыть Обновлено Видео воспроизводится с первого кадра (включая автовоспроизведение, наведение указателя и нажатие для воспроизведения). Стандартные общедоступные просмотры.
Заинтересованный просмотр Без изменений Воспроизведение продолжается после первого кадра или пользователь нажимает на объявление, чтобы запустить его. Монетизация в рамках Партнерской программы YouTube, большинство основных показателей (CTR, средняя продолжительность просмотра) и отчеты о вовлеченности.
Показ значка Без изменений Значок показывается без взаимодействия или автовоспроизведения. Позволяет оценить видимость и упаковку на уровне фида.

Обновление документации по API. Обновлено описание поля viewCount в справочной документации по каналам и видео.

6 августа 2026 г.

В это обновление вошли следующие изменения.

  • Все упоминания полей contentDetails.like и contentDetails.favorite в разделе activities.contentDetails удалены из общедоступной документации, поскольку эти поля не возвращаются API.

7 июля 2026 г.

В это обновление вошли следующие изменения.

Теперь API поддерживает часть brandPartner в ресурсе videos. В этом разделе содержится информация о бренде-партнере, связанном с видео, для доступа брендов-партнеров, инициированного автором.

Часть brandPartner можно указать при вызове следующих методов:

Объект brandPartner содержит следующие поля:

  • channelId – внешний идентификатор канала бренд-партнера.
  • channelHandle – псевдоним канала бренд-партнера.
При установлении связи необходимо задать либо channelId, либо channelHandle, но в ответе возвращается только channelId.

23 июня 2026 г.

В это обновление вошли следующие изменения.

  • Все ссылки на типы ресурсов messageDeletedEvent и messageRetractedEvent (и соответствующие им объекты messageDeletedDetails и messageRetractedDetails) в liveChatMessages удалены, поскольку эти события не возвращаются API.

3 июня 2026 г.

В это обновление вошли следующие изменения.

Теперь API поддерживает новый метод videos.batchGetStats, который позволяет получить список статистических данных о видео, соответствующих параметрам запроса к API.

Вызов этого метода имеет стоимость квоты, равную 1 единице в собственном сегменте квоты. Квота по умолчанию для этого метода – 10 000 единиц в день.

1 июня 2026 г.

YouTube Data API переходит на систему детализированных квот, охватывающую меньшие наборы методов, начиная с videos.insert и search.list.

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

Вызовы API для методов videos.insert и search.list будут учитываться в соответствующих сегментах квоты. Вызовы API для всех остальных методов будут оплачиваться из существующей квоты. Разработчики могут посмотреть ограничения квот в консоли Google Cloud и запросить увеличение квоты, заполнив эту форму.

4 декабря 2025 г.

Документация по YouTube Data API и калькулятор квот были обновлены, чтобы отразить изменение стоимости квоты на загрузку видео с примерно 1600 единиц до примерно 100 единиц.

10 июля 2025 г.

С 21 июля 2025 года YouTube изменит контент, возвращаемый диаграммой mostPopular метода video.list. Раньше в хит-параде "mostPopular" показывались видео из раздела "Набирающие популярность". Теперь в хит-параде mostPopular будут представлены видео из хит-парадов "Набирающие популярность музыкальные видео", "Набирающие популярность трейлеры фильмов" и "Набирающие популярность игровые видео". Это изменение API связано с прекращением поддержки страницы "В тренде" на YouTube.

26 марта 2025 г.

С 31 марта 2025 года просмотры Shorts будут считаться по-другому. Раньше просмотр Shorts засчитывался, если он длился определенное количество секунд. Теперь будут учитываться как первые, так и повторные просмотры Shorts без требований к минимальному времени просмотра. Подробнее…

С 31 марта 2025 года следующие поля в Data API будут возвращать число просмотров Shorts с учетом этого изменения:

  • channels.statistics.viewCount
  • videos.statistics.viewCount

30 октября 2024 г.

Теперь API позволяет выявлять видео, содержащие реалистичный измененный или синтетический (A/S) контент. Подробнее о правилах YouTube в отношении контента, созданного с помощью искусственного интеллекта…

Примеры контента, предназначенного для взрослых:

  • Показывает, как реальный человек говорит или делает что-то, чего на самом деле он не говорил и не делал.
  • Содержит измененные изображения реального места или события.
  • Реалистично изображает событие, которого на самом деле не было.

Чтобы указать, содержит ли видео контент, созданный с помощью ИИ, задайте свойство 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 г.

Примечание. Это объявление о прекращении поддержки.

Свойство brandingSettings.channel.moderateComments ресурса channel больше не поддерживается. YouTube прекратит поддержку этого параметра 7 марта 2024 года.

31 января 2024 г.

В это обновление вошли следующие изменения.

Новый параметр forHandle метода channels.list позволяет получать информацию о канале по его псевдониму на YouTube.

9 ноября 2023 г.

Все ссылки на ресурс videoId в Comments удалены, поскольку ресурс videoId не возвращается при вызове API.

12 сентября 2023 г.

Примечание. Это объявление о прекращении поддержки.

Метод comments.markAsSpam не поддерживается уже несколько лет. Этот метод уже не поддерживается на YouTube и в API.

Во все документы, в которых упоминается метод comments.markAsSpam, добавлено уведомление о прекращении поддержки.

22 августа 2023 г.

Метод search.list теперь поддерживает параметр videoPaidProductPlacement. Этот параметр позволяет отфильтровать результаты поиска, чтобы в них остались только видео, которые автор пометил как содержащие прямую рекламу.

18 августа 2023 г.

В определение свойства liveStreamingDetails.concurrentViewers ресурса video добавлено примечание о том, что количество одновременных просмотров, возвращаемое YouTube Data API, может отличаться от обработанного и очищенного от спама количества одновременных просмотров, доступного в YouTube Аналитике. Подробную информацию о показателях прямых трансляций можно найти в Справочном центре 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 теперь используется string).

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 июля 2012 г.

Условия использования сервисов YouTube API были обновлены. Подробную информацию можно найти в истории изменений Условий использования сервисов YouTube API.

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, свойство statistics.dislikeCount ресурса video станет конфиденциальным с 13 декабря 2021 года. Это означает, что свойство будет включено в ответ API от конечной точки videos.list, только если запрос к API был аутентифицирован владельцем видео.

Это изменение не затронет конечную точку videos.rate.

Разработчики, которые не показывают количество отметок "Не нравится" публично, но которым оно нужно для работы API-клиента, могут подать заявку на добавление в белый список. Чтобы подать заявку на исключение, заполните эту форму.

Подробнее об этом изменении можно узнать в официальном блоге YouTube.

2 июля 2021 г.

Примечание. Это объявление о прекращении поддержки.

Конечная точка commentThreads.update устарела и больше не поддерживается. Эта конечная точка дублировала функции, доступные через другие конечные точки API. Вместо этого вы можете вызвать метод comments.update

и, если вашему коду требуется ресурс commentThreads, выполните дополнительный вызов метода commentThreads.list.

1 июля 2021 г.

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

Чтобы сделать эти процессы более понятными и лучше удовлетворять потребности разработчиков, использующих наши сервисы 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 (недопустимый запрос).

  • Из документации удалены ошибки watchHistoryNotAccessible и watchLaterNotAccessible метода playlistItems.list. Хотя история просмотра и список "Посмотреть позже" действительно недоступны через API, эти ошибки не возвращаются API.

15 октября 2020 г.

В Правила для разработчиков добавлены два новых раздела:

  • В новом разделе III.E.4.i приведена дополнительная информация о данных, которые собираются и отправляются через встроенный проигрыватель YouTube. Вы несете ответственность за любые пользовательские данные, которые отправляете нам через встроенный проигрыватель YouTube до того, как пользователь начнет взаимодействовать с проигрывателем, чтобы запустить воспроизведение. Вы можете ограничить объем данных, передаваемых YouTube до того, как пользователь начнет взаимодействовать с проигрывателем, отключив автовоспроизведение.
  • Новый раздел III.E.4.j касается проверки статуса "Для детей" у контента, который вы хотите встроить на свои сайты и в приложения. Вы должны знать, какие видео, встроенные в ваш API-клиент, предназначены для детей, и обрабатывать данные, собранные из встроенного проигрывателя, соответствующим образом. Поэтому, прежде чем встраивать контент в клиент API с помощью проигрывателей YouTube, вы должны проверять статус этого контента, используя сервис YouTube Data API.

В новом руководстве Как узнать, предназначен ли контент для детей рассказывается, как определить статус видео с помощью YouTube Data API.

В связи с этими изменениями в документацию по параметрам встроенного проигрывателя было добавлено напоминание о том, что если вы включите автовоспроизведение, то воспроизведение будет происходить без какого-либо взаимодействия пользователя с проигрывателем. Таким образом, сбор и передача данных о воспроизведении будут происходить при загрузке страницы.

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 для любых запросов.
  • 11 августа 2016 г. было объявлено о прекращении поддержки свойств contentDetails.relatedPlaylists.watchLater и contentDetails.relatedPlaylists.watchHistory ресурса channel. Поддержка этих плейлистов в методах playlistItems.insert и playlistItems.delete также полностью прекращена, а два свойства удалены из документации.
  • Параметр mySubscribers метода channels.list, который был объявлен устаревшим 30 июля 2013 г., удален из документации. Чтобы получить список подписчиков канала аутентифицированного пользователя, вызовите метод subscriptions.list с параметром mySubscribers.
  • Объект invideoPromotion ресурса channel и все его дочерние свойства, которые были объявлены устаревшими 27 ноября 2017 г., удалены из документации.

29 июля 2020 г.

Мы упростили процесс списания квоты за запросы к API, убрав дополнительную плату, связанную с параметром part. С этого момента мы будем взимать только базовую стоимость за вызванный метод. Подробнее об упрощенной квоте…

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

Мы настоятельно рекомендуем всем разработчикам пройти проверку на соответствие требованиям для своих проектов, чтобы сохранить доступ к сервисам YouTube API.

Эта запись в истории изменений была опубликована 20 июля 2020 г.

28 июля 2020 г.

Все видео, загруженные через конечную точку videos.insert из неподтвержденных проектов API, созданных после 28 июля 2020 года, будут доступны только для личного просмотра. Чтобы снять это ограничение, каждый проект должен пройти аудит на соответствие Условиям использования.

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

Проекты API, созданные до 28 июля 2020 года, пока не затронуты этим изменением. Однако мы настоятельно рекомендуем всем разработчикам пройти проверку на соответствие требованиям для своих проектов, чтобы обеспечить непрерывный доступ к сервисам YouTube API.

21 июля 2020 г.

[Обновлено 28 июля 2020 г.] Обновление документации, упомянутое в этой записи истории изменений, было повторно опубликовано 28 июля 2020 г.

Вчера мы опубликовали обновление документации, связанное с процессом списания квоты. Однако из-за непредвиденных обстоятельств изменение квоты ещё не вступило в силу. В результате документация была возвращена в исходное состояние в интересах точности. Чтобы избежать путаницы, мы удалили запись об этом изменении из истории версий. Она будет опубликована повторно в ближайшее время.

7 июля 2020 г.

Примечание. Это объявление о прекращении поддержки.

Параметры autoLevels и stabilize метода videos.insert больше не поддерживаются и удалены из документации. Их значения игнорируются и не влияют на обработку новых видео.

15 июня 2020 г.

В новом руководстве Соблюдение правил YouTube для разработчиков приведены рекомендации и примеры, которые помогут вам убедиться, что ваши API-клиенты соответствуют определенным разделам Условий использования и правил сервисов YouTube API.

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

4 июня 2020 г.

Примечание. Это обновление предыдущего объявления о прекращении поддержки.

Мы полностью прекратили поддержку записей на канале. Это изменение было анонсировано 17 апреля 2020 г. и уже вступило в силу. В результате метод activities.insert больше не поддерживается, а метод activities.list больше не возвращает записи на канале. Подробную информацию вы найдете в Справочном центре YouTube.

17 апреля 2020 г.

Примечание. Это объявление о прекращении поддержки.

Мы прекращаем поддержку записей на канале. В результате метод activities.insert будет объявлен устаревшим, а метод activities.list перестанет возвращать записи на канале. Эти изменения вступят в силу в API 18 мая 2020 г. или позже. Подробную информацию вы найдете в Справочном центре YouTube.

31 марта 2020 г.

В это обновление вошли следующие изменения.

  • Новые ресурсы и методы

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

      Этот ресурс заменяет ресурс sponsor, описанный в документации по YouTube Live Streaming API. Ресурс sponsor больше не поддерживается. Клиентам API следует заменить вызовы метода sponsors.list на вызовы метода members.list.

    • Новый ресурс membershipsLevel определяет уровень цен, заданный автором, который авторизовал запрос к API. Метод membershipsLevels.list позволяет получить список всех уровней спонсорства, предлагаемых автором.

10 января 2020 г.

Теперь API позволяет определять контент, предназначенный для детей. Подробнее о контенте, предназначенном для детей в Справочном центре YouTube.

Ресурсы channel и video поддерживают два новых свойства, которые позволяют авторам контента и зрителям определять, предназначен ли контент для детей:

  • Свойство selfDeclaredMadeForKids позволяет авторам контента указывать, предназначен ли канал или видео для детей.

    Для каналов это свойство можно задать при вызове метода channels.update. Для видео это свойство можно задать при вызове метода videos.insert или videos.update.

    Обратите внимание, что это свойство включается в ответы API, содержащие ресурсы channel или video, только если владелец канала авторизовал запрос к API.
  • Свойство madeForKids позволяет любому пользователю узнать, предназначен ли канал или видео для детей. Например, статус может определяться на основе значения свойства selfDeclaredMadeForKids. Подробную информацию о том, как указать аудиторию канала, видео или трансляции, можно найти в Справочном центре YouTube.

Мы также обновили Условия использования сервисов YouTube API и правила для разработчиков. Подробную информацию можно найти в истории изменений Условий использования сервисов YouTube API. Изменения в Условиях использования сервисов YouTube API и Правилах для разработчиков вступят в силу 10 января 2020 года по тихоокеанскому времени.

10 сентября 2019 г.

Документация по API была обновлена в связи с изменением способа подсчета подписчиков на YouTube и, следовательно, в ответах API. В результате число подписчиков, возвращаемое сервисом YouTube Data API, округляется в меньшую сторону до трех значащих цифр, если оно превышает 1000. Изменение затронет свойство statistics.subscriberCount ресурса channel.

Примечание. Это изменение влияет на значение свойства, даже если пользователь отправляет авторизованный запрос на получение данных о собственном канале. Владельцы каналов по-прежнему могут видеть точное число подписчиков в Творческой студии YouTube.

Например, если у канала 123 456 подписчиков, свойство statistics.subscriberCount будет содержать значение 123000. В таблице ниже показано, как округляется число подписчиков в ответах API и как оно сокращается в других общедоступных пользовательских интерфейсах YouTube.

Пример нового формата YouTube Data API Общедоступные интерфейсы YouTube
1234 1230 1,23 тыс.
12 345 12300 12,3 тыс.
123 456 123000 123 тыс.
1 234 567 1230000 1,23 млн
12 345 678 12300000 12,3 млн
123,456,789 123000000 123 млн

4 апреля 2019 г.

В это обновление вошли следующие изменения.

  • Документация по API была обновлена, чтобы лучше объяснить распространенные варианты использования каждого метода и предоставить динамические высококачественные примеры кода через виджет API Explorer. Пример приведен в документации по методу channels.list. На страницах с описанием методов API появились два новых элемента:

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

    • В разделе Распространенные примеры использования описывается один или несколько распространенных примеров использования метода, описанного на странице. Например, вы можете вызвать метод channels.list, чтобы получить данные об определенном канале или о канале текущего пользователя.

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

    В настоящее время поддерживаются примеры кода на Java, JavaScript, PHP, Python и curl.

  • Инструмент Примеры кода также получил новый интерфейс, в котором доступны все описанные выше функции. С помощью этого инструмента вы можете изучить варианты использования различных методов, загрузить значения в API Explorer и открыть полноэкранный API Explorer, чтобы получить примеры кода на Java, JavaScript, PHP и Python.

    В связи с этим изменением были удалены страницы, на которых ранее были перечислены доступные примеры кода для Java, JavaScript, PHP и Python.

  • Обновлены краткие руководства для Java, JavaScript, PHP и Python. В обновленных руководствах объясняется, как запустить один пример с ключом API, а другой – с идентификатором клиента OAuth 2.0, используя примеры кода из API Explorer.

Обратите внимание, что описанные выше изменения заменяют интерактивный инструмент, который был добавлен в документацию по API в 2017 году.

9 июля 2018 г.

В это обновление вошли следующие изменения.

  • В определение свойства snippet.thumbnails ресурса channel добавлено примечание о том, что при показе значков в приложении код должен использовать URL изображений в том виде, в котором они возвращаются в ответах API. Например, в URL, возвращаемом в ответе API, ваше приложение не должно использовать домен http вместо домена https.

    С июля 2018 г. URL значков каналов будут доступны только в домене https. Именно в таком виде они будут возвращаться в ответах API. После этого в вашем приложении могут появиться неработающие изображения, если оно попытается загрузить изображения YouTube из домена http.

  • Примечание. Это объявление о прекращении поддержки.

    Свойство recordingDetails.location.altitude ресурса video больше не поддерживается. Нет гарантии, что для видео будут возвращены значения этого свойства. Аналогично, даже если запросы к API попытаются задать значение для этого свойства, возможно, что входящие данные не будут сохранены.

22 июня 2018 г.

Из руководства по внедрению (ранее – руководство по внедрению и переносу) удалены инструкции по переходу с API версии 2 на API версии 3. Кроме того, мы удалили инструкции для функций, которые больше не поддерживаются в v3 API, например для избранных видео.

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, в которых используются немного разные процессы авторизации. Чтобы посмотреть полные примеры (и это изменение):

    1. Перейдите к интерактивному инструменту для работы с фрагментами кода или к документации по любому методу API, например channels.list.
    2. Нажмите на вкладку Python над примерами кода.
    3. Чтобы переключиться с фрагмента на полный пример, нажмите на переключатель над вкладками.
    4. На вкладке должен появиться полный пример кода, в котором используется процесс авторизации InstalledAppFlow. Это объясняется в описании над примером, где также приведена ссылка на пример для приложения веб-сервера.
    5. Нажмите на ссылку, чтобы перейти к примеру веб-сервера. В этом примере используется фреймворк Flask для веб-приложений и другой процесс авторизации.

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

29 августа 2017 г.

В это обновление вошли следующие изменения.

  • В определение параметра forContentOwner метода search.list добавлено примечание о том, что если для этого параметра задано значение true, то для параметра type должно быть задано значение video.
  • Определение параметра regionCode метода search.list было обновлено, чтобы уточнить, что параметр ограничивает результаты поиска видео, которые можно просмотреть в указанном регионе.
  • Мы обновили логотипы и значки YouTube. Новые логотипы "Разработано совместно с YouTube" можно скачать на странице Правила фирменного оформления. Другие новые логотипы и значки YouTube также показаны на этой странице и могут быть скачаны с сайта бренда YouTube.

24 июля 2017 г.

В это обновление вошли следующие изменения.

  • Добавлено краткое руководство по YouTube Data API для iOS. В этом руководстве рассказывается, как использовать YouTube Data API в простом приложении для iOS, написанном на Objective-C или Swift.
  • В интерактивный инструмент для работы с фрагментами кода в YouTube Data 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, Apps Script и Go.

    Для каждого метода инструмент показывает фрагменты кода для одного или нескольких вариантов использования, и каждый вариант описывает распространенный способ вызова этого метода. Например, вы можете вызвать метод channels.list, чтобы получить данные об определенном канале или о канале текущего пользователя.

    Вы также можете взаимодействовать с примерами кода:

    • Измените значения параметров и свойств, и фрагменты кода будут динамически обновлены с учетом указанных вами значений.

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

    • Выполняйте запросы, нажимая кнопку. Чтобы выполнять запросы, вам нужно разрешить инструменту вызывать API от вашего имени.

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

  • Инструмент Фрагменты кода Data API также был обновлен и получил новый интерфейс со всеми описанными выше функциями. Основные новые функции на этой странице:

    • Поддержка запросов к API, которые записывают данные.
    • Поддержка примеров Java.
    • Более гибкий и полный шаблонный код для авторизации пользователей и создания запросов к API.

27 апреля 2017 г.

В это обновление вошли следующие изменения.

  • В новых руководствах по быстрому началу работы объясняется, как настроить простое приложение, которое отправляет запросы к YouTube Data API. В настоящее время доступны руководства для Android, Apps Script, Go, Java, JavaScript, Node.js, PHP, Python и Ruby.

30 марта 2017 г.

В это обновление вошли следующие изменения.

  • Новое свойство topicDetails.topicCategories[] ресурса channel содержит список URL страниц Википедии, описывающих контент канала. URL соответствуют идентификаторам тем, возвращаемым в свойстве topicDetails.topicIds[] ресурса.
  • Новое свойство contentDetails.videoPublishedAt ресурса playlistItem определяет время публикации видео на YouTube. Ресурс уже содержит свойство snippet.publishedAt, которое определяет время добавления объекта в плейлист.
  • Как и ресурс channel, ресурс video теперь возвращает свойство topicDetails.topicCategories[], которое содержит список URL страниц Википедии, описывающих контент видео. Для ресурсов video URL соответствуют идентификаторам тем, возвращаемым в свойстве topicDetails.relevantTopicIds[] ресурса.
  • Новое свойство contentDetails.contentRating.mpaatRating ресурса video определяет рейтинг, который Американская ассоциация кинокомпаний присвоила трейлеру или анонсу фильма.

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

  • Примечание. Это объявление о прекращении поддержки.

    Прекращается поддержка следующих свойств:

    • Свойство topicDetails.topicIds[] ресурса channel. Это свойство будет поддерживаться до 10 ноября 2017 г.
    • Свойство topicDetails.relevantTopicIds[] ресурса video. Это свойство будет поддерживаться до 10 ноября 2017 г.
    • Свойство topicDetails.topicIds[] ресурса video. После 10 февраля 2017 г. это свойство не будет содержать значений. После этой даты все темы, связанные с видео, будут определяться значением свойства topicDetails.relevantTopicIds[].
  • Поскольку поддержка Freebase уже прекращена, руководство Поиск по темам Freebase удалено из документации. В этом руководстве приведены примеры кода, показывающие, как приложение будет работать с Freebase API.

    Кроме того, из документации по методу search.list удалены несколько примеров кода, связанных с идентификаторами тем.

2 ноября 2016 г.

В это обновление вошли следующие изменения.

  • Новые свойства и параметры

    • Ресурс video содержит несколько новых свойств:

      • Свойство player.embedHtml содержит тег <iframe>, который можно использовать для встраивания проигрывателя, воспроизводящего видео. Новые свойства player.embedHeight и player.embedWidth определяют размеры встроенного проигрывателя. Эти свойства возвращаются, только если в запросе к API указано значение хотя бы для одного из параметров maxHeight или maxWidth. Эти два новых параметра описаны далее в этой записи истории изменений.

      • Новое свойство hasCustomThumbnail указывает, добавил ли пользователь, загрузивший видео, свой значок для него. Обратите внимание, что это свойство видно только пользователю, загрузившему видео.

      • Новый элемент fpbRatingReasons[] указывает причины, по которым видео получило возрастное ограничение от FPB (ЮАР).

      • Новый тег mcstRating указывает на возрастной рейтинг видео во Вьетнаме.

    • Метод videos.list поддерживает два новых параметра: maxHeight и maxWidth. При получении части player в ресурсах video можно использовать один или оба параметра.

      По умолчанию высота элемента <iframe>, возвращаемого в свойстве player.embedHtml, составляет 360 пикселей. Ширина подстраивается под соотношение сторон видео, чтобы в проигрывателе не было черных полос по краям. Например, если соотношение сторон видео составляет 16:9, ширина проигрывателя будет равна 640 пикселям.

      С помощью новых параметров вы можете указать, что вместо размеров по умолчанию в коде встраивания должны использоваться высота и/или ширина, соответствующие макету вашего приложения. Сервер API масштабирует размеры проигрывателя, чтобы в нем не было черных полос по краям видео. Обратите внимание, что оба параметра задают максимальные размеры встроенного проигрывателя. Таким образом, если заданы оба параметра, один из размеров может быть меньше максимально допустимого.

      Например, у видео соотношение сторон 16:9. Таким образом, если параметры maxHeight или maxWidth не заданы, тег player.embedHtml будет содержать проигрыватель размером 640 x 360.

      • Если для параметра maxHeight задано значение 720, а параметр maxWidth не задан, API вернет проигрыватель размером 1280 x 720.
      • Если для параметра maxWidth задано значение 960, а параметр maxHeight не задан, API вернет проигрыватель размером 960 x 540.
      • Если для параметра maxWidth задано значение 960, а для параметра maxHeight – значение 450, API вернет проигрыватель размером 800 x 450.

      Новые свойства player.embedHeight и player.embedWidth, описанные выше, определяют размеры проигрывателя.

  • Изменения в существующих методах, свойствах и параметрах

    • В описание ресурса channelSection добавлено примечание о том, что на канале можно создать не более 10 разделов без данных таргетинга и не более 100 разделов с данными таргетинга.

      Кроме того, свойство targeting ресурса channelSection было обновлено, чтобы отразить тот факт, что параметры таргетинга можно задать только с помощью API. Настройки таргетинга удаляются, если раздел канала изменен с помощью пользовательского интерфейса на сайте YouTube.

    • Определение свойства snippet.name ресурса i18nLanguage было исправлено, чтобы отразить, что значение представляет собой название языка, написанное на языке, указанном в параметре hl метода i18nLanguage.list.

    • Свойство contentDetails.note ресурса playlistItem было обновлено. Теперь максимальная длина значения свойства составляет 280 символов.

    • Свойства contentDetails.startAt и contentDetails.endAt ресурса playlistItem больше не поддерживаются. Эти поля игнорируются, если они заданы в запросах playlistItems.insert или playlistItems.update.

    • Методы playlistItems.delete и playlistItems.update теперь поддерживают параметр onBehalfOfContentOwner, который уже поддерживается для нескольких других методов. Запросы, в которых используется этот метод, также должны быть авторизованы с помощью токена, предоставляющего доступ к области действия https://www.googleapis.com/auth/youtubepartner.

    • Параметры publishedBefore и publishedAfter метода search.list были обновлены, чтобы указать, что значения параметров являются инклюзивными. Например, если задан параметр publishedBefore, API возвращает ресурсы, созданные в указанное время или раньше.

    • Свойство contentDetails.contentRating.grfilmRating ресурса video поддерживает три дополнительных значения: grfilmK12, grfilmK15 и 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 возвращает эту ошибку, если в запросе была попытка получить элементы плейлиста "История просмотра", которые нельзя получить с помощью API.
      forbidden (403) watchLaterNotAccessible Метод playlistItems.list возвращает эту ошибку, если в запросе была попытка получить элементы плейлиста "Смотреть позже", которые нельзя получить с помощью API.
      badRequest (400) uploadLimitExceeded Метод videos.insert возвращает эту ошибку, если на канале превышено количество видео, которые можно загрузить.
      forbidden (403) forbiddenEmbedSetting Метод videos.update возвращает эту ошибку, если в запросе к API указаны недопустимые настройки встраивания видео. Обратите внимание, что не у всех каналов есть разрешение на встраивание проигрывателей для прямых трансляций. Подробную информацию вы найдете в Справочном центре YouTube.
    • Метод playlistItems.insert больше не возвращает ошибку, если вы добавляете в плейлист видео, которое уже в нем есть. Ранее эта ошибка возникала в некоторых плейлистах, например "Понравившиеся", в которых не допускались дубликаты, но которые больше не поддерживаются. В целом в плейлистах разрешены повторяющиеся видео.

  • Другие обновления

    • В запись истории изменений от 15 сентября 2016 г. добавлено уточнение о том, что свойства contentDetails.relatedPlaylists.watchHistory и contentDetails.relatedPlaylists.watchLater ресурса channel, если они включены в ответ, всегда содержат значения HL и WL соответственно. Кроме того, эти свойства включаются в ответ, только если авторизованный пользователь запрашивает данные о собственном канале.

15 сентября 2016 г.

В это обновление вошли следующие изменения.

  • В истории изменений от 11 августа 2016 г. описаны изменения, связанные с идентификаторами тем, в том числе тот факт, что набор поддерживаемых идентификаторов тем изменится 10 февраля 2017 г. Список поддерживаемых тем будет опубликован до 10 ноября 2016 г.

  • Ниже перечислены изменения, которые уже вступили в силу. Уведомление об этих изменениях было опубликовано в истории изменений 11 августа 2016 г.:

    • Если метод activities.list вызывается с параметром home, для которого задано значение true, то ответ API содержит элементы, похожие на те, которые видит на главной странице пользователь, не вошедший в аккаунт YouTube.

      Это небольшое изменение, которое призвано повысить удобство работы по сравнению с поведением, описанным в обновлении истории изменений от 11 августа 2016 г. В том сообщении говорилось, что запросы с параметром home будут возвращать пустой список.

    • Свойства contentDetails.relatedPlaylists.watchHistory и contentDetails.relatedPlaylists.watchLater ресурса channel теперь содержат значения HL и WL соответственно для всех каналов.

      Эти свойства видны только авторизованному пользователю, который запрашивает данные о собственном канале. Свойства всегда содержат значения HL и WL, даже если авторизованный пользователь запрашивает данные о собственном канале. Таким образом, идентификаторы истории просмотра и плейлиста "Смотреть позже" нельзя получить через API.

      Кроме того, запросы на получение сведений о плейлистах (playlists.list) или элементах плейлистов (playlistItems.list) для истории просмотра канала или плейлиста "Смотреть позже" теперь возвращают пустые списки. Это относится как к новым значениям HL и WL, так и к любым идентификаторам плейлистов "История просмотра" и "Смотреть позже", которые уже могут храниться в вашем API-клиенте.

  • Объект fileDetails.recordingLocation ресурса video и его дочерние свойства больше не возвращаются. Ранее эти данные (как и родительский объект fileDetails) мог получить только владелец видео.

11 августа 2016 г.

В это обновление вошли следующие изменения.

  • Новые Условия использования сервисов YouTube API (далее – Обновленные условия), подробно описанные в блоге YouTube для разработчиков, содержат ряд изменений по сравнению с текущими Условиями использования. Помимо обновленных Условий, которые вступят в силу 10 февраля 2017 года, мы подготовили несколько сопроводительных документов, которые помогут вам разобраться в правилах.

    Полный набор новых документов описан в истории изменений обновленных Условий. В истории изменений также будут отражаться будущие изменения Обновленных условий и сопутствующих документов.

  • Прекращение поддержки Freebase и Freebase API приведет к ряду изменений, связанных с идентификаторами тем. Идентификаторы тем используются в следующих ресурсах и методах API:

    • Раздел topicDetails ресурса channel содержит информацию о темах, связанных с каналом.
    • Раздел topicDetails ресурса video содержит темы, связанные с видео.
    • Параметр topicId метода search.list позволяет искать видео или каналы, связанные с определенной темой.

    Вот что изменилось:

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

    • Идентификаторы тем Freebase, которые вы уже получили, можно использовать для поиска контента до 10 февраля 2017 года. Однако после этого вы сможете использовать только меньший набор тем, указанных в предыдущем пункте, для получения результатов поиска по теме.

    • После 10 февраля 2017 года при попытке выполнить поиск по идентификатору темы, который не входит в сокращенный набор поддерживаемых идентификаторов, API будет возвращать пустой набор результатов.

  • С 12 сентября 2016 г. прекращается поддержка нескольких полей и параметров API:

    • Параметр home метода activities.list позволял авторизованному пользователю получать фид действий, который показывался на главной странице YouTube этого пользователя. Запросы, в которых этот параметр будет использоваться после 12 сентября 2016 г., будут возвращать пустой список.

    • Свойства contentDetails.relatedPlaylists.watchHistory и contentDetails.relatedPlaylists.watchLater ресурса channel видны только авторизованному пользователю, который запрашивает данные о собственном канале. После 12 сентября 2016 года свойство contentDetails.relatedPlaylists.watchHistory будет возвращать значение HL, а свойство contentDetails.relatedPlaylists.watchLater – значение WL для всех каналов.

      После 12 сентября 2016 года запросы на получение сведений о плейлистах (playlists.list) для истории просмотра или плейлиста "Смотреть позже" будут возвращать пустой список. Запросы на получение элементов плейлиста (playlistItems.list) в любом из этих плейлистов также будут возвращать пустой список. Это касается как новых значений (HL и WL), так и идентификаторов плейлистов "История просмотра" и "Смотреть позже", которые уже могут храниться в вашем API-клиенте.

    • После 12 сентября 2016 года объект fileDetails.recordingLocation ресурса video и его дочерние свойства возвращаться не будут. Эти данные может получить только владелец видео, поскольку только он может получить родительский объект fileDetails.

13 июня 2016 г.

В это обновление вошли следующие изменения.

  • Свойство contentDetails.googlePlusUserId ресурса channel больше не поддерживается. Ранее это свойство присутствовало, только если канал был связан с профилем Google+. После прекращения поддержки свойство больше не будет включаться в ресурсы channel.

  • Свойство snippet.authorGoogleplusProfileUrl ресурса comment больше не поддерживается. Ранее это свойство присутствовало, только если канал был связан с профилем Google+. После прекращения поддержки свойство больше не будет включаться в ресурсы comment.

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

31 мая 2016 г.

В это обновление вошли следующие изменения.

  • Новый параметр myRecentSubscribers метода subscriptions.list позволяет получить список подписчиков канала аутентифицированного пользователя в обратном хронологическом порядке.

    Обратите внимание, что новый параметр поддерживает только получение 1000 последних подписчиков канала аутентифицированного пользователя. Чтобы получить полный список подписчиков, используйте параметр mySubscribers. Этот параметр не возвращает подписчиков в определенном порядке и не ограничивает их количество.

  • Определение свойства snippet.thumbnails.(key) было обновлено для ресурсов activity, playlistItem, playlist, результат поиска, thumbnail и video. Теперь в нем указано, что для некоторых видео доступны дополнительные размеры значков.

    • Размер изображения standard – 640 x 480 пикселей.
    • Изображение maxres имеет ширину 1280 пикселей и высоту 720 пикселей.
  • Определение параметра part метода channelSection.list было обновлено. Теперь в нем указано, что часть targeting можно получить за 2 единиц квоты.

  • Теперь метод videos.list возвращает ошибку forbidden (403), если запрос без надлежащей авторизации пытается получить части fileDetails, processingDetails или suggestions ресурса video. Эти части доступны только владельцу видео.

17 мая 2016 г.

Новый инструмент Фрагменты кода Data API предоставляет короткие фрагменты кода для распространенных сценариев использования YouTube Data API. Фрагменты кода в настоящее время доступны для всех методов API, предназначенных только для чтения, в Apps Script, Go, JavaScript, PHP, Python и Ruby.

Для каждого метода инструмент показывает примеры кода для одного или нескольких вариантов использования. Например, для метода search.list доступно пять фрагментов кода:

  • Список видео по ключевому слову
  • Как получить список видео по местоположению
  • Получение списка трансляций
  • Поиск видео аутентифицированного пользователя
  • Как получить список похожих видео

Для каждого варианта использования инструмент показывает параметры, используемые в запросе к API. Вы можете изменить значения параметров, и тогда инструмент обновит фрагменты кода в соответствии с указанными вами значениями.

Наконец, инструмент показывает ответ API на каждый запрос. Если вы изменили параметры запроса, ответ API будет основан на указанных вами значениях параметров. Чтобы ответы API показывались, необходимо разрешить инструменту отправлять запросы от вашего имени.

28 апреля 2016 г.

В это обновление вошли следующие изменения.

  • Новое свойство contentDetails.projection ресурса video определяет формат проекции видео. Допустимые значения: 360 и rectangular.

  • Свойства recordingDetails.location и fileDetails.recordingLocation ресурса video были обновлены, чтобы объяснить разницу между ними:

    • Свойство recordingDetails.location определяет местоположение, которое владелец видео хочет связать с видео. Его можно изменить. Оно доступно для поиска в общедоступных видео и может показываться пользователям.
    • Значение свойства fileDetails.recordingLocation неизменно и представляет собой местоположение, связанное с исходным загруженным видеофайлом. Это значение видно только владельцу видео.

  • Определение свойства contentDetails.relatedPlaylists.favorites ресурса channel было обновлено. Теперь в нем указано, что значение свойства может содержать идентификатор плейлиста, который относится к пустому плейлисту и который невозможно получить. Это связано с тем, что функция "Избранные видео" больше не поддерживается. Обратите внимание, что на это свойство не распространяются правила прекращения поддержки API.

  • Обновлено определение ошибки ineligibleAccount, которая может возвращаться методами comments.insert, comments.update, commentThreads.insert и commentThreads.update. Теперь в нем указано, что ошибка возникает, если аккаунт YouTube, используемый для авторизации запроса к API, не объединен с аккаунтом Google пользователя.

20 апреля 2016 г.

В это обновление вошли следующие изменения.

  • Определение параметра part метода channels.update было обновлено, чтобы указать, что localizations также является допустимым значением для этого параметра.

  • В раздел Использование квоты руководства по началу работы добавлена ссылка на Google Developer's Console, где можно посмотреть текущую квоту и ее использование.

16 марта 2016 г.

В это обновление вошли следующие изменения.

  • Обновления существующих ресурсов и методов

    • В документацию по ресурсу channelBanner добавлено примечание о том, что рекомендуемый размер загружаемого баннера канала составляет 2560 x 1440 пикселей. Минимальный размер (2048 x 1152 пикселей) не изменился.

    • Новое свойство snippet.customUrl ресурса channel определяет собственный URL, связанный с каналом. (Собственные URL есть не у всех каналов.) О том, как создать собственный URL и какие требования нужно для этого выполнить, рассказывается в Справочном центре YouTube.

    • Объект brandingSettings.watch ресурса channel и все его дочерние свойства больше не поддерживаются.

    • Ответ API на запрос search.list теперь содержит свойство regionCode. Это свойство определяет код региона, который использовался для поискового запроса. Код региона указывает API, что нужно возвращать результаты поиска для определенной страны.

      Значение свойства – двухбуквенный код страны ISO, который идентифицирует регион. Метод i18nRegions.list возвращает список поддерживаемых регионов. Значение по умолчанию – US. Если указан неподдерживаемый регион, YouTube может выбрать другой регион, а не значение по умолчанию, для обработки запроса.

    • Определения свойств snippet.label и snippet.secondaryReasons[].label ресурса videoAbuseReportReason были обновлены. Теперь в них указано, что свойства содержат локализованный текст ярлыка для причин жалоб на нарушения.

      Кроме того, метод videoAbuseReportReasons.list теперь поддерживает параметр hl, который определяет язык текста ярлыка в ответе API. Значение параметра по умолчанию – en_US.

    • Новое свойство contentDetails.contentRating.ecbmctRating ресурса video определяет возрастное ограничение для видео, установленное Советом по оценке и классификации Министерства культуры и туризма Турции.

      Кроме того, свойства API для других систем возрастных ограничений поддерживают следующие новые значения:

      • contentDetails.contentRating.fpbRating (ЮАР).
        Возрастное ограничение: 10. Значение свойства: fpb10.
      • contentDetails.contentRating.moctwRating (Тайвань)
        Возрастное ограничение: R-12; значение свойства: moctwR12
      • contentDetails.contentRating.moctwRating (Тайвань)
        Возрастное ограничение: R-15; значение свойства: moctwR15
    • Свойство liveStreamingDetails.activeLiveChatId ресурса video содержит идентификатор активного чата, связанного с видео. Значение свойства указывается, только если видео является текущей прямой трансляцией с включенным чатом. После окончания трансляции и чата свойство больше не возвращается.

    • Свойство status.rejectionReason ресурса video поддерживает новое значение 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 Методы channelSections.insert и channelSections.update возвращают эту ошибку, если в ресурсе channelSection, который был отправлен в запросе к API, не указано значение свойства snippet.type.
    badRequest (400) processingFailure Метод commentThreads.list возвращает эту ошибку, если серверу API не удалось обработать запрос. Это может быть временная ошибка, но обычно она указывает на то, что входные данные запроса недействительны. Проверьте структуру ресурса commentThread в теле запроса.
    forbidden (403) commentsDisabled Метод commentThreads.list возвращает эту ошибку, если в видео, указанном в параметре videoId, отключены комментарии.
    badRequest (400) commentTextTooLong Метод commentThreads.insert возвращает эту ошибку, если в свойстве snippet.topLevelComment.snippet.textOriginal добавляемого ресурса comment слишком много символов.
    invalidValue (400) videoAlreadyInAnotherSeriesPlaylist Метод playlistItems.insert возвращает эту ошибку, если видео, которое вы пытаетесь добавить в плейлист, уже входит в другой плейлист серий. Подробнее о плейлистах серий в Справочном центре YouTube.
    badRequest (400) subscriptionForbidden Метод subscriptions.insert возвращает эту ошибку, если вы достигли максимального количества подписок или создали слишком много подписок за последнее время. В последнем случае вы можете повторить запрос через несколько часов.
    badRequest (400) invalidCategoryId Метод videos.update возвращает эту ошибку, если в свойстве snippet.categoryId загруженного ресурса video указан недействительный идентификатор категории. Чтобы получить список поддерживаемых категорий, используйте метод videoCategories.list.
    badRequest (400) invalidDescription Метод videos.update возвращает эту ошибку, если в свойстве snippet.description загруженного ресурса video указано недопустимое значение.
    badRequest (400) invalidPublishAt Метод videos.update возвращает эту ошибку, если в свойстве status.publishAt загруженного ресурса video указано недопустимое время публикации.
    badRequest (400) invalidRecordingDetails Метод videos.update возвращает эту ошибку, если объект recordingDetails в загруженном ресурсе video содержит недопустимые сведения о записи.
    badRequest (400) invalidTags Метод videos.update возвращает эту ошибку, если в свойстве snippet.tags загруженного ресурса video указано недопустимое значение.
    badRequest (400) invalidTitle Метод videos.update возвращает эту ошибку, если в свойстве snippet.title загруженного ресурса video указано недопустимое или пустое название видео.
    badRequest (400) invalidVideoMetadata Метод videos.update возвращает эту ошибку, если метаданные запроса недействительны. Эта ошибка возникает, если запрос обновляет часть snippet ресурса video, но не задает значение для свойств snippet.title и snippet.categoryId.

18 декабря 2015 г.

Законы Европейского союза (ЕС) требуют, чтобы конечным пользователям из ЕС предоставлялась определенная информация и от них было получено согласие. В частности, это означает, что ваш сайт и клиенты API должны соответствовать Правилам в отношении согласия пользователей из ЕС (применительно к таким пользователям). Мы добавили уведомление об этом требовании в Условия использования YouTube API.

19 ноября 2015 г.

Теперь API поддерживает возможность задавать и получать локализованный текст для свойств snippet.title и snippet.description ресурсов playlist и video, свойства snippet.title ресурса channelSection и свойства snippet.description ресурса channel.

  • Как добавить локализованные названия и описания

    Локализованные значения для ресурса можно задать при вызове метода insert или update для этого ресурса. Чтобы задать локализованные значения для ресурса, выполните следующие действия:

    • Убедитесь, что для свойства snippet.defaultLanguage ресурса задано значение. Это свойство определяет язык свойств snippet.title и snippet.description ресурса. В качестве значения можно использовать любой поддерживаемый язык приложения или большинство других языковых кодов ISO 639-1:2002. Например, если вы загружаете видео с названием и описанием на английском языке, то для свойства snippet.defaultLanguage нужно указать значение en.

      Примечание об обновлении ресурсов channel. Чтобы задать свойство snippet.defaultLanguage для ресурса channel, нужно обновить свойство brandingSettings.channel.defaultLanguage.

    • Добавьте объект localizations в ресурс, который вы обновляете. Каждый ключ объекта – это строка, которая идентифицирует язык приложения или код языка ISO 639-1:2002. Каждый ключ сопоставляется с объектом, который содержит локализованное название (и описание) ресурса.

      В приведенном ниже фрагменте кода в качестве языка по умолчанию задан английский. и добавляет локализованные названия и описания на немецком и испанском языках:

      {
        "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",
          }
        }
      }
    • Важно! При обновлении локализованных данных для ресурса запрос к API должен включать все существующие локализованные версии данных. Например, если вы отправите запрос на добавление португальских данных к видео из примера выше, запрос должен будет включать локализованные данные для немецкого, испанского и португальского языков.

  • Получение локализованных значений

    API поддерживает два способа получения локализованных значений для ресурса:

    • Добавьте параметр hl в запрос channels.list, channelSections.list, playlists.list или videos.list, чтобы получить локализованные данные для определенного языка приложения, поддерживаемого сайтом YouTube. Если локализованные сведения о ресурсе доступны на этом языке, объект snippet.localized ресурса будет содержать локализованные значения. Если локализованные данные недоступны, объект snippet.localized будет содержать сведения о ресурсе на языке по умолчанию.

      Например, предположим, что запрос videos.list извлек данные для видео, описанного выше, с локализованными данными на немецком и испанском языках. Если бы параметр hl имел значение de, ресурс содержал бы следующие данные:

      {
        "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"
          }
          ...
        }
      }

      Однако если бы параметр hl имел значение fr, объект snippet.localized содержал бы название и описание на английском языке, поскольку английский – это язык по умолчанию для ресурса, а локализованные данные на французском языке недоступны.

      Важно! Параметр hl поддерживает только значения, которые идентифицируют языки приложения, поддерживаемые сайтом YouTube. Чтобы узнать, доступен ли локализованный текст на других языках, необходимо получить часть localizations ресурса и отфильтровать ее.

      Например, чтобы узнать, доступен ли локализованный текст на аппалачском английском, необходимо получить полный список локализаций.

    • Чтобы получить все локализованные сведения о ресурсе, при его получении укажите localizations в качестве значения параметра part. Если вы хотите получить локализованные данные на языке, который не поддерживается в приложении YouTube, вам нужно запросить все локализации, а затем отфильтровать их, чтобы определить, существуют ли нужные вам данные.

  • Ошибки, связанные с локализованными текстовыми значениями

    API также поддерживает следующие новые ошибки для локализованных текстовых значений:

    Тип ошибки Сведения об ошибке Описание
    badRequest (400) defaultLanguageNotSetError Эта ошибка означает, что запрос на вставку или обновление объекта localizations для ресурса не выполняется, поскольку для этого ресурса не задано свойство snippet.defaultLanguage. Эта ошибка поддерживается методами channels.update, channelSections.insert, channelSections.update, playlists.insert, playlists.update, videos.insert и videos.update.
    badRequest (400) localizationValidationError Эта ошибка означает, что одно из значений в объекте localizations ресурса не прошло проверку. Например, эта ошибка может возникнуть, если объект содержит недопустимый код языка. Эта ошибка поддерживается методами channels.update, channelSections.insert, channelSections.update, playlists.insert и playlists.update.

4 ноября 2015 г.

В это обновление вошли следующие изменения.

  • Обновления существующих ресурсов и методов

    • В параметр order метода search.list добавлено примечание о том, что если вы сортируете прямые трансляции по значению viewCount, то результаты API сортируются по количеству одновременных зрителей, пока трансляции ещё идут.

    • В параметр relatedToVideoId метода search.list добавлено примечание о том, что если этот параметр задан, то единственными другими поддерживаемыми параметрами являются part, maxResults, pageToken, regionCode, relevanceLanguage, safeSearch, type (должен иметь значение video) и fields. Это изменение не влияет на работу API.

    • В описание свойства snippet.publishedAt ресурса video добавлено примечание о том, что значение свойства, указывающее дату и время публикации видео, может отличаться от времени загрузки видео. Например, если видео было загружено как личное, а затем стало общедоступным, в свойстве будет указано время, когда видео стало общедоступным. В обновленном определении также объясняется, как заполняется значение для видео с ограниченным доступом и доступом по ссылке.

      Это изменение не влияет на работу API.

    • В определение свойства status.publishAt ресурса video добавлено следующее примечание:

      • Если вы задаете значение этого свойства при вызове метода videos.update, вы также должны задать значение свойства status.privacyStatus как private, даже если видео уже имеет ограниченный доступ.
      • Если в запросе указано время публикации в прошлом, видео публикуется сразу. Таким образом, если вы укажете в свойстве status.publishAt дату и время в прошлом, то это будет равносильно изменению значения privacyStatus с private на public.
    • Свойство contentDetails.contentRating.cncRating ресурса video содержит возрастной рейтинг видео по классификации Французской комиссии по классификации фильмов (Commission de classification cinematographique). Это свойство заменяет свойство contentDetails.contentRating.fmocRating, которое больше не поддерживается.

    • Определение свойства brandingSettings.channel.keywords ресурса channel было обновлено, чтобы правильно отразить, что значение свойства содержит список строк, разделенных пробелами, а не запятыми, как было задокументировано ранее. Это изменение не влияет на работу API.

    • Документация по методу thumbnails.set была обновлена, чтобы точно отразить, что тело запроса содержит изображение значка, которое вы загружаете и связываете с видео. Тело запроса не содержит ресурс thumbnail. Ранее в документации говорилось, что при вызове этого метода не нужно указывать тело запроса. Это изменение не влияет на работу API.

    • Описание ресурса activity было обновлено, чтобы отразить тот факт, что метод activities.list в настоящее время не включает ресурсы, связанные с новыми комментариями к видео. Значения snippet.type и contentDetails.comment ресурса также были обновлены.

  • Новые и обновленные ошибки

    • Теперь API поддерживает следующие ошибки:

      Сведения об ошибке
      activities.insert
      Код HTTP-ответаbadRequest (400)
      ПричинаinvalidMetadata
      ОписаниеСвойство kind не соответствует типу указанного идентификатора.
      commentThreads.update
      comments.insert
      comments.update
      Код HTTP-ответаbadRequest (400)
      ПричинаcommentTextTooLong
      ОписаниеРесурс comment, который вы пытаетесь вставить или обновить, содержит слишком много символов в свойстве snippet.topLevelComment.snippet.textOriginal.
      playlistItems.insert
      playlistItems.update
      Код HTTP-ответаforbidden (403)
      ПричинаplaylistItemsNotAccessible
      ОписаниеЗапрос на добавление, обновление или удаление указанного объекта плейлиста не авторизован должным образом.
      playlists.delete
      playlists.insert
      playlists.update
      Код HTTP-ответаbadRequest (400)
      ПричинаplaylistForbidden
      ОписаниеОперация запрещена или запрос не авторизован должным образом.
      search.list
      Код HTTP-ответаbadRequest (400)
      ПричинаinvalidLocation
      ОписаниеЗначение параметра location и/или locationRadius указано в неверном формате.
      search.list
      Код HTTP-ответаbadRequest (400)
      ПричинаinvalidRelevanceLanguage
      ОписаниеЗначение параметра relevanceLanguage указано в неправильном формате.
      subscriptions.insert
      Код HTTP-ответаbadRequest (400)
      ПричинаsubscriptionForbidden
      Описание Эта ошибка возникает в следующих случаях:
      • Подписка, которую вы пытаетесь создать, уже существует.
      • Вы уже достигли максимального количества подписок.
      • Вы пытаетесь подписаться на собственный канал. Это невозможно.
      • Вы создали слишком много подписок за последнее время. Повторите попытку через несколько часов.
      videos.update
      Код HTTP-ответаbadRequest (400)
      ПричинаinvalidDefaultBroadcastPrivacySetting
      ОписаниеВ запросе указаны недопустимые настройки конфиденциальности для трансляции по умолчанию.

28 августа 2015 г.

В это обновление вошли следующие изменения.

  • Обновления существующих ресурсов и методов

    • Свойство statistics.favoriteCount ресурса video больше не поддерживается.

      В соответствии с нашими правилами прекращения поддержки это свойство будет включено в ресурсы video в течение как минимум одного года после этого объявления. Однако теперь для свойства всегда задано значение 0.

7 августа 2015 г.

В это обновление вошли следующие изменения.

  • Обновления существующих ресурсов и методов

    • Определение свойства snippet.tags[] ресурса video было обновлено, чтобы предоставить больше информации о том, как сервер API рассчитывает длину значения свойства. Обратите внимание, что это обновление не отражает изменения в поведении API.

      В частности, теперь в определении объясняется, что если тег содержит пробел, то сервер API обрабатывает значение тега так, как если бы оно было заключено в кавычки, и кавычки учитываются в ограничении на количество символов. Например, для целей ограничения на количество символов тег Foo-Baz содержит семь символов, а тег Foo Baz – девять.

    • Метод commentThreads.insert больше не поддерживает параметр shareOnGooglePlus, который ранее указывал, следует ли также публиковать комментарий и ответы на него в профиле автора в Google+. Если в запросе есть такой параметр, сервер API игнорирует его, но обрабатывает запрос.

18 июня 2015 г.

В это обновление вошли следующие изменения.

  • Обновления существующих ресурсов и методов

    • Новый параметр order метода commentThreads.list определяет порядок, в котором цепочки комментариев должны быть перечислены в ответе API. Цепочки можно упорядочить по времени или релевантности. По умолчанию они упорядочены по времени.

    • Новое свойство snippet.defaultAudioLanguage ресурса video определяет язык, на котором выполнена озвучка в аудиодорожке по умолчанию.

    • Определение свойства contentDetails.licensedContent ресурса video было обновлено, чтобы уточнить, что контент должен быть изначально загружен на канал, связанный с партнером по контенту YouTube, а затем заявлен этим партнером. Это не означает, что поведение API изменилось.

    • Методы captions.delete, captions.download, captions.insert, captions.list и captions.update теперь поддерживают параметр onBehalfOfContentOwner, который уже поддерживается несколькими другими методами. Запросы, в которых используется этот метод, также должны быть авторизованы с помощью токена, предоставляющего доступ к области действия https://www.googleapis.com/auth/youtubepartner.

  • Новые и обновленные ошибки

    • Теперь API поддерживает следующие ошибки:

      Сведения об ошибке
      videos.rate
      Код HTTP-ответаbadRequest (400)
      ПричинаemailNotVerified
      ОписаниеЧтобы оценить видео, пользователь должен подтвердить свой адрес электронной почты.
      videos.rate
      Код HTTP-ответаbadRequest (400)
      ПричинаvideoPurchaseRequired
      ОписаниеОценивать видео, взятые напрокат, могут только пользователи, которые их арендовали.
    • Методы subscriptions.delete и subscriptions.insert больше не поддерживают ошибки accountClosed и accountSuspended.

27 апреля 2015 г.

В это обновление вошли следующие изменения.

  • Новые ресурсы и методы

    • Новый ресурс videoAbuseReportReason содержит информацию о причине, по которой видео может быть помечено как содержащее недопустимый контент. Метод videoAbuseReportReasons.list позволяет получить список всех причин, по которым на видео может быть подана жалоба.

    • Новый метод videos.reportAbuse позволяет помечать видео, содержащие недопустимый контент. Тело запроса содержит объект JSON, в котором указано видео, на которое подается жалоба, а также причина, по которой контент в нем считается недопустимым. Допустимые причины можно получить с помощью метода videoAbuseReportReason.list, описанного выше.

      В руководство по переносу также добавлен пример того, как сообщить о видео, нарушающем правила. Теперь API версии 3 поддерживает все функции API версии 2, которые планировалось в него добавить. Все эти функции также описаны в руководстве по переносу.

  • Обновления существующих ресурсов и методов

    • Новый параметр фильтра forDeveloper метода search.list ограничивает поиск, чтобы получать только видео, загруженные через приложение или сайт разработчика. Параметр forDeveloper можно использовать вместе с необязательными параметрами поиска, например q.

      Каждому загруженному видео автоматически присваивается номер проекта, связанного с приложением разработчика в Google Developers Console.

      Когда в поисковом запросе параметр forDeveloper принимает значение true, сервер API использует учетные данные авторизации запроса для идентификации разработчика. Таким образом, разработчик может ограничить результаты видео, загруженными через его собственное приложение или сайт, но не видео, загруженными через другие приложения или сайты.

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

    • Новое свойство snippet.country ресурса channel позволяет владельцам каналов связывать их с определенной страной.

      Примечание. Чтобы задать свойство snippet.country для ресурса channel, нужно обновить свойство brandingSettings.channel.country.

    • Теперь API поддерживает таргетинг для ресурсов channelSection. Таргетинг на раздел канала позволяет ограничить видимость раздела контента пользователями, соответствующими определенным критериям.

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

    • Определение свойства contentDetails.duration ресурса video исправлено, чтобы отразить, что значение может быть указано в часах, днях и т. д.

    • В документацию по методам channelSections.delete, playlistItems.delete, playlists.delete, subscriptions.delete и videos.delete внесены исправления. Теперь в ней указано, что в случае успеха эти методы возвращают код HTTP-ответа 204 (No Content).

  • Новые и обновленные ошибки

    • Теперь API поддерживает следующие ошибки:

      Тип ошибки Сведения об ошибке Описание
      badRequest (400) targetInvalidCountry Методы channelSections.insert и channelSections.update возвращают эту ошибку, если добавленный ресурс channelSection содержит недопустимое значение свойства targeting.countries[].
      badRequest (400) targetInvalidLanguage Методы channelSections.insert и channelSections.update возвращают эту ошибку, если добавленный ресурс channelSection содержит недопустимое значение свойства targeting.languages[].
      badRequest (400) targetInvalidRegion Методы channelSections.insert и channelSections.update возвращают эту ошибку, если добавленный ресурс channelSection содержит недопустимое значение свойства targeting.regions[].
      badRequest (400) operationNotSupported Метод comments.insert возвращает эту ошибку, если пользователь API не может добавить ответ на комментарий верхнего уровня, указанный в свойстве snippet.parentId. В ресурсе commentThread свойство snippet.canReply указывает, может ли текущий зритель ответить на цепочку комментариев.
      badRequest (400) invalidChannelId Метод search.list возвращает эту ошибку, если в параметре channelId запроса указан недействительный идентификатор канала.
      badRequest (400) subscriptionForbidden Метод subscriptions.insert возвращает эту ошибку, если пользователь API пытается подписаться на собственный канал.
    • Метод captions.update больше не поддерживает ошибки invalidMetadata и videoNotFound.

16 апреля 2015 г.

В это обновление вошли следующие изменения.

  • Руководство по переносу было обновлено. В него добавлена информация о том, как перенести приложения, в которых по-прежнему используются функции комментариев из API версии 2.

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

    • Как получить комментарии о канале
    • Получение всех цепочек комментариев, связанных с каналом. Ответ API может содержать комментарии о канале или любом из его видео.
    • Изменение текста комментария
    • Как пометить комментарий как спам
    • Как задать статус модерации комментария

  • Руководство Подписка на push-уведомления обновлено. Теперь в нем указано, что уведомления отправляются только в хаб Google PubSubHubBub, а не в хаб Superfeedr, как было написано ранее.

9 апреля 2015 г.

В это обновление вошли следующие изменения.

  • Новые ресурсы commentThread и comment позволяют получать, добавлять, обновлять, удалять и модерировать комментарии.

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

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

      API поддерживает следующие методы для ресурсов commentThread:

      • commentThreads.list – получение списка цепочек комментариев. Этот метод позволяет получить комментарии, связанные с определенным видео или каналом.
      • commentThreads.insert – создать новый комментарий верхнего уровня. Чтобы ответить на существующий комментарий, используйте метод comments.insert.
      • commentThreads.update – изменить комментарий верхнего уровня.

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

      API поддерживает следующие методы для ресурсов comment:

      • comments.list – получить список комментариев. Этот метод позволяет получить все ответы на определенный комментарий.
      • comments.insert – создать ответ на существующий комментарий.
      • comments.update – изменить комментарий.
      • comments.markAsSpam – пометить один или несколько комментариев как спам.
      • comments.setModerationStatus – задать статус модерации для одного или нескольких комментариев. Например, вы можете одобрить комментарий для публикации или отклонить его. Запрос к API должен быть авторизован владельцем канала или видео, к которому относятся комментарии.
      • comments.delete – удалить комментарий.

    Обратите внимание, что новая область действия API https://www.googleapis.com/auth/youtube.force-ssl, описанная в истории изменений за 2 апреля 2015 г., требуется для вызовов методов comments.insert, comments.update, comments.markAsSpam, comments.setModerationStatus, comments.delete, commentThreads.insert и commentThreads.update.

  • В новом руководстве Подписка на push-уведомления рассказывается о том, как API поддерживает push-уведомления через PubSubHubBub – протокол публикации и подписки между серверами для ресурсов, доступных в интернете. Сервер обратного вызова PubSubHubBub может получать уведомления фида Atom, когда на канале происходит одно из следующих событий:

    • загружает видео
    • обновляет название видео;
    • обновляет описание видео;

  • В руководство по переносу также добавлена информация о поддержке push-уведомлений. Однако, поскольку API версии 2 поддерживал множество других типов push-уведомлений, которые не поддерживаются в API версии 3, упоминание о поддержке PubSubHubBub по-прежнему указано в разделе Устаревшие этого руководства.

  • Новая область действия https://www.googleapis.com/auth/youtube.force-ssl теперь поддерживается всеми методами API, которые ранее поддерживали область действия https://www.googleapis.com/auth/youtube.

  • Теперь API поддерживает следующие ошибки:

    Тип ошибки Сведения об ошибке Описание
    badRequest (400) invalidRating Метод videos.rate возвращает эту ошибку, если запрос содержит недопустимое значение параметра rating.
  • Метод subscriptions.insert больше не поддерживает ошибку subscriptionLimitExceeded, которая ранее указывала на то, что подписчик, указанный в запросе, превысил ограничение частоты запросов.

2 апреля 2015 г.

В это обновление вошли следующие изменения.

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

    API поддерживает методы для получения списка, добавления, обновления, скачивания и удаления дорожек субтитров.

  • В руководство по переносу также добавлена информация о том, как перенести приложения, в которых по-прежнему используются функции субтитров из API версии 2.

  • Новая область действия https://www.googleapis.com/auth/youtube.force-ssl API требует, чтобы обмен данными с сервером API происходил через SSL-соединение.

    Эта новая область действия предоставляет тот же доступ, что и область действия https://www.googleapis.com/auth/youtube. Фактически эти две области действия идентичны, поскольку сервер YouTube API доступен только через конечную точку HTTPS. В результате, хотя область действия https://www.googleapis.com/auth/youtube не требует SSL-подключения, на самом деле нет другого способа сделать запрос к API.

    Новая область действия необходима для вызовов всех методов ресурса caption.

11 марта 2015 г.

В это обновление вошли следующие изменения.

  • В руководстве по переходу на YouTube Data API v3 появилась вкладка Новые функции в API v3. На ней перечислены функции, которые поддерживаются в API v3, но не поддерживались в API v2. Эти же функции были и остаются на других вкладках руководства. Например, новая функция, позволяющая обновлять данные о рекламных кампаниях в видео на канале, также находится на вкладке Каналы (профили).

  • В руководство по переходу на YouTube Data API (v3) добавлена информация о том, что в версии 3 будет поддерживаться следующая функция версии 2:

  • В руководство по переходу на YouTube Data API v3 добавлено примечание о том, что следующие функции API v2 не будут поддерживаться в API v3:

    • Получение рекомендаций видео. API версии 3 не позволяет получить список, содержащий только видео, рекомендованные текущему пользователю API. Однако вы можете использовать API версии 3, чтобы находить рекомендованные видео. Для этого вызовите метод activities.list и задайте значение true для параметра home.

      В ответе API ресурс соответствует рекомендованному видео, если значение свойства snippet.type равно recommendation. В этом случае свойства contentDetails.recommendation.reason и contentDetails.recommendation.seedResourceId будут содержать информацию о том, почему видео было рекомендовано. Обратите внимание, что в ответе может быть любое количество рекомендованных видео.

    • Как получить рекомендации по каналам

    • Получение новых видео из подписок. API версии 3 не позволяет получить список, содержащий только видео, которые были недавно загружены на каналы, на которые подписан пользователь API. Однако вы можете использовать API версии 3, чтобы находить новые видео на каналах, на которые подписан пользователь. Для этого вызовите метод activities.list и задайте параметру home значение true.

      В ответе API ресурс соответствует новому видео, если значение свойства snippet.type равно upload. Обратите внимание, что в ответе может быть любое количество новых видео.

    • Поддержка RSS-фидов

    • Push-уведомления об обновлениях фида. В API версии 2 поддерживались push-уведомления, которые отправлялись с помощью протокола Simple Update Protocol (SUP) или PubSubHubbub и позволяли отслеживать фиды действий пользователей YouTube. Уведомления отправлялись, когда на канал подписывались новые пользователи, а также когда видео оценивали, добавляли в избранное, загружали, комментировали или делились ими.

      В API версии 3 будут поддерживаться push-уведомления, отправляемые по протоколу PubSubHubbub. Однако они будут приходить только при загрузке видео и изменении их названий или описаний.

    • Местоположение канала. В API версии 2 использовался тег <yt:location>, который позволял определить местоположение пользователя, указанное в общедоступном профиле канала YouTube. Некоторые разработчики использовали это поле, чтобы связать канал с определенной страной, но данные в нем не всегда подходили для этой цели.

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

      В API версии 3 будет похожая, но не идентичная функция. В частности, разработчик сможет искать видео, загруженные его собственным приложением. Каждому загруженному видео автоматически присваивается номер проекта, связанного с приложением разработчика в Google Developers Console. Затем разработчик использует тот же номер проекта для поиска видео.

    • Сортировка видео по дате публикации, количеству просмотров или рейтингу. В API версии 2 параметр orderby позволял сортировать видео в плейлисте по позиции, продолжительности, дате публикации, названию и другим значениям. В API версии 3 объекты плейлиста обычно сортируются по позиции в порядке возрастания, а другие варианты сортировки недоступны.

      Есть несколько исключений. Новое загруженное, избранное, понравившееся или недавно просмотренное видео автоматически добавляется в качестве первого элемента (snippet.position=0) в плейлисты следующих типов: Таким образом, каждый из этих списков эффективно сортируется в порядке от самого нового к самому старому элементу на основе времени добавления элементов в список.

      • загруженные пользователями видео
      • любимые видео
      • понравившиеся видео
      • история просмотров

      Однако обратите внимание, что новые видео добавляются в конец плейлиста "Смотреть позже", поэтому он фактически отсортирован от старых к новым.

    • Пакетная обработка. API версии 3 поддерживает один из вариантов пакетной обработки, который поддерживался в API версии 2. Методы channels.list, channelSections.list, guideCategories.list, playlistItems.list, playlists.list, subscriptions.list, videoCategories.list и videos.list в API версии 3 поддерживают параметр id, который позволяет указать список идентификаторов (идентификаторов видео, идентификаторов каналов и т. д.), разделенных запятыми. С помощью этих методов вы можете получить список нескольких ресурсов за один запрос.

    В руководстве теперь указаны все функции, которые поддерживались в старой версии API (v2) и не будут поддерживаться в текущей (v3).

4 марта 2015 г.

В это обновление вошли следующие изменения.

  • Методы channelSections.delete и channelSections.update теперь поддерживают параметр onBehalfOfContentOwner, который уже поддерживается для нескольких других методов.

  • Поддержка следующих свойств и их дочерних свойств прекращена:

    • brandingSettings.image.backgroundImageUrl
    • brandingSettings.image.largeBrandedBannerImageImapScript
    • brandingSettings.image.largeBrandedBannerImageUrl
    • brandingSettings.image.smallBrandedBannerImageImapScript
    • brandingSettings.image.smallBrandedBannerImageUrl

    Примечание. Ни одно из этих свойств не подпадало под действие правил прекращения поддержки API.

  • Новое свойство contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons ресурса video указывает, почему видео получило возрастное ограничение DJCQT (Бразилия).

  • Теперь API поддерживает следующие ошибки:

    Тип ошибки Сведения об ошибке Описание
    notFound (404) channelNotFound Метод channels.update возвращает эту ошибку, если в параметре id запроса указан канал, который не удается найти.
    badRequest (400) manualSortRequiredinvalidValue Методы playlistItems.insert и playlistItems.update возвращают эту ошибку, если в запросе предпринимается попытка задать позицию объекта в плейлисте, но для плейлиста не используется сортировка вручную. Например, элементы плейлиста могут быть отсортированы по дате или популярности. Чтобы устранить эту ошибку, удалите элемент snippet.position из ресурса, отправленного в теле запроса. Если вы хотите, чтобы видео занимало определенную позицию в списке, сначала измените порядок сортировки на Вручную. Изменить этот параметр можно в Менеджере видео YouTube.
    forbidden (403) channelClosed Метод playlists.list возвращает эту ошибку, если в параметре channelId запроса указан закрытый канал.
    forbidden (403) channelSuspended Метод playlists.list возвращает эту ошибку, если в параметре channelId запроса указан заблокированный канал.
    forbidden (403) playlistForbidden Метод playlists.list возвращает эту ошибку, если параметр id не поддерживает запрос или запрос не авторизован должным образом.
    notFound (404) channelNotFound Метод playlists.list возвращает эту ошибку, если в параметре channelId запроса указан канал, который не удается найти.
    notFound (404) playlistNotFound Метод playlists.list возвращает эту ошибку, если в параметре id запроса указан плейлист, который не удается найти.
    notFound (404) videoNotFound Метод videos.list возвращает эту ошибку, если в параметре id запроса указано видео, которое не удается найти.
    badRequest (400) invalidRating Метод videos.rate возвращает эту ошибку, если запрос содержит недопустимое значение параметра rating.

2 марта 2015 г.

В это обновление вошли следующие изменения.

14 января 2015 г.

В это обновление вошли следующие изменения.

  • В руководство по переходу на YouTube Data API v3 добавлена информация о том, как загружать видео с помощью JavaScript. Подробнее о том, как загрузить видео… Эта функция аналогична загрузке через браузер, которая поддерживается в API версии 2. Обратите внимание, что это изменение в руководстве по переносу не отражает фактическое изменение API, а скорее доступность нового образца кода для загрузки видео с помощью клиентского JavaScript.

    Поскольку загрузка видео поддерживается клиентской библиотекой JavaScript и CORS, в руководстве по переносу данных загрузка через браузер больше не указана как функция, которая может быть удалена из API версии 3.

  • В документацию по методу videos.insert добавлен новый пример кода JavaScript, описанный выше. Также обновлен список примеров кода JavaScript для YouTube Data API (v3).

11 ноября 2014 г.

В это обновление вошли следующие изменения.

  • Стоимость квоты для вызова метода search.list изменена на 100 единиц.

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

    • Стоимость квоты: 100 единиц.

      Вызовите метод search.list и найдите GoogleDevelopers.

    • Стоимость квоты: 6 единиц

      Вызовите метод channels.list, чтобы найти нужный идентификатор канала. Задайте для параметра forUsername значение GoogleDevelopers, а для параметра part – значение contentDetails. В ответе API свойство contentDetails.relatedPlaylists.uploads указывает идентификатор плейлиста с загруженными на канал видео.

      Затем вызовите метод playlistItems.list и задайте для параметра playlistId полученный идентификатор, а для параметра part – значение snippet.

8 октября 2014 г.

В это обновление вошли следующие изменения.

  • Ресурс channel содержит два новых свойства:

    • Свойство status.longUploadsStatus указывает, можно ли загружать на канал видео продолжительностью более 15 минут. Это свойство возвращается, только если владелец канала авторизовал запрос к API. Допустимые значения:

      • allowed – на канал можно загружать видео продолжительностью более 15 минут;
      • eligible – на канале можно загружать видео продолжительностью более 15 минут, но сначала нужно включить эту функцию.
      • disallowed – на канале нельзя загружать видео продолжительностью более 15 минут.

      Дополнительную информацию об этих значениях можно найти в определении свойства. Подробную информацию об этой функции вы найдете в Справочном центре YouTube.

    • Свойство invideoPromotion.useSmartTiming указывает, используется ли в рекламной кампании канала умный выбор времени. Эта функция позволяет показывать рекламу в тот момент, когда зрители с большей вероятностью нажмут на нее и когда она меньше всего мешает просмотру. Для каждого видео выбирается одно промопредложение.

  • Определения свойств snippet.title и snippet.categoryId ресурса video были обновлены, чтобы уточнить, как API обрабатывает вызовы метода videos.update. Если вы вызываете этот метод, чтобы обновить часть snippet ресурса video, необходимо задать значения для обоих этих свойств.

    Если вы попытаетесь обновить часть snippet ресурса video и не укажете значения для обоих этих свойств, API вернет ошибку invalidRequest. Описание этой ошибки также было обновлено.

  • Свойство contentDetails.contentRating.oflcRating ресурса video, которое определяет возрастной рейтинг видео по классификации Новозеландского бюро по классификации фильмов и литературы, теперь поддерживает два новых рейтинга: oflcRp13 и oflcRp16. Они соответствуют рейтингам RP13 и RP16.

  • Теперь метод channelBanners.insert поддерживает следующую ошибку:

    Тип ошибки Сведения об ошибке Описание
    badRequest bannerAlbumFull В альбоме "Фоновые изображения канала" слишком много изображений. Владельцу канала нужно перейти на страницу http://photos.google.com, открыть страницу с альбомами и удалить из альбома несколько изображений.

12 сентября 2014 г.

В это обновление вошли следующие изменения.

  • Стоимость квоты для вызова метода search.list изменилась с 1 до 2 единиц в дополнение к стоимости указанных частей ресурса.

13 августа 2014 г.

В это обновление вошли следующие изменения.

  • Теперь метод subscriptions.insert поддерживает следующую ошибку:

    Тип ошибки Сведения об ошибке Описание
    badRequest subscriptionLimitExceeded Подписчик, указанный в запросе, превысил ограничение частоты запросов подписки. Повторите попытку через несколько часов.

12 августа 2014 г.

В это обновление вошли следующие изменения.

  • В новом руководстве Migrating Your Application to YouTube Data API (v3) (Перенос приложения на YouTube Data API версии 3) рассказывается, как использовать YouTube Data API версии 3 для выполнения функций, доступных в YouTube Data API версии 2. Поддержка старого API была официально прекращена 4 марта 2014 г. Это руководство поможет вам перенести приложения, в которых используется API версии 2, на последнюю версию API.

8 июля 2014 г.

В это обновление вошли следующие изменения.

  • Теперь метод playlists.insert поддерживает следующую ошибку:

    Тип ошибки Сведения об ошибке Описание
    badRequest maxPlaylistExceeded Эта ошибка возникает, если плейлист не удается создать, поскольку на канале уже достигнуто максимальное количество плейлистов.

18 июня 2014 г.

В это обновление вошли следующие изменения.

28 мая 2014 г.

В это обновление вошли следующие изменения.

  • Метод search.list теперь поддерживает параметры location и locationRadius, которые позволяют искать видео, связанные с определенным географическим местоположением. Чтобы получить результаты на основе местоположения, в запросе необходимо указать значения для обоих параметров. Если в запросе будет только один из них, API вернет ошибку.

    • Параметр location задает координаты широты и долготы центра круглой географической области.

    • Параметр locationRadius определяет максимальное расстояние от центра области до места, связанного с видео, при котором видео все ещё будет включено в результаты поиска.

13 мая 2014 г.

В это обновление вошли следующие изменения.

  • Свойство invideoPromotion.items[] ресурса channel было обновлено. Теперь в нем указано, что обычно на канале можно продвигать только один объект. Если вы попытаетесь вставить слишком много продвигаемых объектов, API вернет ошибку tooManyPromotedItems с кодом статуса HTTP 400.

  • Материал channelSection теперь может содержать информацию о нескольких новых типах выбора редакции. Свойство snippet.type ресурса channelSection теперь поддерживает следующие значения:

    • postedPlaylists – плейлисты, которые владелец канала добавил в фид действий.
    • postedVideos – видео, которые владелец канала опубликовал в фиде действий.
    • subscriptions – каналы, на которые подписан владелец канала.

  • Новое свойство contentDetails.contentRating.ifcoRating ресурса video определяет возрастное ограничение, присвоенное видео Ирландским бюро классификации фильмов.

  • Обновлено определение свойства position.cornerPosition ресурса watermark. Теперь в нем указано, что водяной знак всегда показывается в правом верхнем углу проигрывателя.

  • В определение параметра q для метода search.list добавлено примечание о том, что в поисковом запросе можно использовать логический оператор NOT (-), чтобы исключить видео, связанные с определенным поисковым запросом. В значении также можно использовать логический оператор ИЛИ (|), чтобы найти видео, связанные с одним из нескольких поисковых запросов.

  • Определение свойства pageInfo.totalResults, которое возвращается в ответе API на вызов search.list, было обновлено. Теперь в нем указано, что значение является приблизительным и может не соответствовать точному значению. Максимальное значение – 1 000 000. Не используйте это значение для создания ссылок на страницы. Вместо этого используйте значения свойств nextPageToken и prevPageToken, чтобы определить, нужно ли показывать ссылки на страницы.

  • Методы watermarks.set и watermarks.unset были обновлены, чтобы отразить, что API возвращает код ответа HTTP 204 для успешных запросов к этим методам.

2 мая 2014 г.

В это обновление вошли следующие изменения.

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

    API поддерживает метод, позволяющий получить список поддерживаемых языков приложения. Поддерживаемые языки можно использовать в качестве значения параметра hl при вызове методов API, таких как videoCategories.list и guideCategories.list.

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

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

7 апреля 2014 г.

В это обновление вошли следующие изменения.

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

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

    Документация по ошибкам также была обновлена. Теперь в ней описаны сообщения об ошибках, которые API поддерживает специально для этих новых методов.

  • В определение объекта fileDetails ресурса video добавлено пояснение, что этот объект возвращается, только если свойство processingDetails.fileDetailsAvailability видео имеет значение available.

    Аналогичным образом было обновлено определение объекта suggestions ресурса video. Теперь в нем указано, что объект будет возвращен, только если свойство processingDetails.tagSuggestionsAvailability или processingDetails.editorSuggestionsAvailability видео имеет значение available.

  • Документация по методам videos.insert и videos.update обновлена. Теперь в ней указано, что при вызове этих методов можно задавать свойство status.publishAt.

  • В описание объекта invideoPromotion ресурса channel добавлено пояснение, что этот объект может получить только владелец канала.

  • Список параметров для метода videos.rate был обновлен, чтобы отразить, что этот метод на самом деле не поддерживает параметр onBehalfOfContentOwner. Это была ошибка в документации, поскольку запросы videos.rate, в которых задан этот параметр, возвращают ошибку 500.

31 марта 2014 г.

В это обновление вошли следующие изменения.

13 марта 2014 г.

В это обновление вошли следующие изменения.

  • Теперь API поддерживает часть contentOwnerDetails для ресурсов channel. Новая часть содержит данные канала, которые относятся к партнерам YouTube, связанным с каналом, включая идентификатор владельца контента, связанного с каналом, а также дату и время, когда владелец контента и канал были связаны. Обратите внимание, что на эту новую часть не распространяются правила прекращения поддержки.

  • Теперь в документации указана максимальная длина в символах для следующих свойств:

    Ресурс Свойство Максимальная длина
    channel invideoPromotion.items[].customMessage 40 символов
    video snippet.title 100 символов
    video snippet.description 5000 байт
    video snippet.tags 500 символов. Обратите внимание, что значение свойства представляет собой список, а запятые между элементами в списке учитываются при подсчете количества символов.
  • Свойство brandingSettings.watch.featuredPlaylistId ресурса channel больше не поддерживается. Если вы попытаетесь задать его значение, API вернет ошибку.

  • В список значений, которые можно задать при добавлении или обновлении видео, включены следующие свойства ресурса video:

  • В документации по ошибкам теперь указан код HTTP-ответа для каждого типа ошибки.

  • Теперь API поддерживает следующие ошибки:

    Тип ошибки Сведения об ошибке Описание
    badRequest (400) invalidCriteria Метод channels.list возвращает эту ошибку, если в запросе указаны параметры фильтра, которые нельзя использовать вместе.
    badRequest (400) channelTitleUpdateForbidden Метод channels.update возвращает эту ошибку, если вы пытаетесь обновить часть brandingSettings канала и изменить значение свойства brandingSettings.channel.title. Если вы не укажете это свойство, API не вернет ошибку.
    badRequest (400) invalidRecentlyUploadedBy Метод channels.update возвращает эту ошибку, если в свойстве invideoPromotion.items[].id.recentlyUploadedBy указан недействительный идентификатор канала.
    badRequest (400) invalidTimingOffset Метод channels.update возвращает эту ошибку, если в части invideoPromotion указано недопустимое смещение по времени.
    badRequest (400) tooManyPromotedItems Метод channels.update возвращает эту ошибку, если в части invideoPromotion указано больше продвигаемых объектов, чем разрешено.
    forbidden (403) promotedVideoNotAllowed Метод channels.update возвращает эту ошибку, если в свойстве invideoPromotion.items[].id.videoId указан идентификатор видео, которое не найдено или не может быть использовано в качестве продвигаемого объекта.
    forbidden (403) websiteLinkNotAllowed Метод channels.update возвращает эту ошибку, если свойство invideoPromotion.items[].id.websiteUrl указывает на недопустимый URL.
    required (400) requiredTimingType Метод channels.update возвращает эту ошибку, если в запросе не указаны настройки времени по умолчанию, определяющие, когда YouTube должен показывать продвигаемый объект.
    required (400) requiredTiming Метод channels.update должен указывать объект invideoPromotion.items[].timing для каждого продвигаемого товара.
    required (400) requiredWebsiteUrl В методе channels.update необходимо указать свойство invideoPromotion.items[].id.websiteUrl для каждого продвигаемого товара.
    badRequest (400) invalidPublishAt Метод videos.insert возвращает эту ошибку, если в метаданных запроса указано недопустимое время публикации.

4 марта 2014 г.

В это обновление вошли следующие изменения.

5 декабря 2013 г.

В это обновление вошли следующие изменения.

  • Документация по методу search.list обновлена. Теперь в ней указано, что при отправке поискового запроса не нужно указывать значение только для одного параметра фильтра. Вы можете задать значение для одного параметра фильтра или не задавать его вообще.

  • Определения параметров метода search.list были обновлены. Теперь в них указано, что вы должны задать для параметра type значение video, если вы также указываете значение для любого из следующих параметров:

    • eventType
    • videoCaption
    • videoCategoryId
    • videoDefinition
    • videoDimension
    • videoDuration
    • videoEmbeddable
    • videoLicense
    • videoSyndicated
    • videoType

  • Минимальный размер баннера канала уменьшен до 2048 x 1152 пкс. (ранее – 2120 x 1192 пкс). Кроме того, в документации по ресурсу channel указаны максимальные размеры всех изображений баннеров, которые можно получить с помощью API. Например, максимальный размер изображения brandingSettings.image.bannerTvImageUrl для телевизионных приложений составляет 2120 x 1192 пкс, но фактический размер изображения может быть 2048 x 1152 пкс. Дополнительные рекомендации по оптимизации фонового изображения канала для разных типов устройств можно найти в Справочном центре YouTube.

  • Определения нескольких свойств ресурса channel были обновлены, чтобы отразить следующую информацию:

    • Максимальная длина значения свойства brandingSettings.channel.description – 1000 символов.
    • Максимальная длина свойства brandingSettings.channel.featuredChannelsTitle – 30 символов.
    • Теперь в свойстве brandingSettings.channel.featuredChannelsUrls[] можно указать до 100 каналов.
    • Если значение свойства brandingSettings.channel.unsubscribedTrailer задано, оно должно указывать идентификатор видео YouTube, которое является общедоступным или доступным по ссылке и принадлежит владельцу канала.

  • Метод channels.update теперь поддерживает обновление свойства invideoPromotion.items[].promotedByContentOwner. Это свойство указывает, будет ли имя владельца контента показываться при продвижении. Это свойство можно задать, только если запрос к API, который устанавливает значение свойства, выполняется от имени владельца контента с помощью параметра onBehalfOfContentOwner.

  • Методы playlistItems.list и playlistItems.insert теперь поддерживают параметр onBehalfOfContentOwner, который уже поддерживается для нескольких других методов.

  • Теперь в свойстве contentDetails.contentRating.acbRating можно указывать возрастные ограничения, установленные Австралийской аттестационной комиссией (ACB) для фильмов или Австралийским управлением по коммуникациям и СМИ (ACMA) для детских телепрограмм.

  • Новые свойства contentDetails.contentRating.catvRating и contentDetails.contentRating.catvfrRating определяют возрастные ограничения, присвоенные видео в соответствии с канадской системой классификации телеконтента и системой возрастных ограничений Régie du cinéma, которая используется в Квебеке.

  • Новое свойство snippet.assignable ресурса videoCategory указывает, можно ли связать обновленные или недавно загруженные видео с этой категорией.

  • Добавлены примеры кода для следующих методов:

24 октября 2013 г.

В это обновление вошли следующие изменения.

  • В API есть две дополнительные функции, которые помогают находить и продвигать прямые трансляции:

    Новое свойство snippet.liveBroadcastContent в результатах поиска указывает, есть ли в ресурсе видео или канала контент прямой трансляции. Допустимые значения: upcoming, active и none.

    • Новое свойство snippet.liveBroadcastContent ресурса video указывает, является ли видео предстоящей или текущей прямой трансляцией. Ниже приведены возможные значения этого свойства.

      • upcoming – видео является прямой трансляцией, которая ещё не началась.
      • active – видео является текущей прямой трансляцией.
      • none – видео не является предстоящей или текущей прямой трансляцией. Это значение будет присваиваться завершенным трансляциям, которые по-прежнему доступны для просмотра на YouTube.
    • Новое свойство liveStreamingDetails ресурса video – это объект, содержащий метаданные о прямой трансляции. Чтобы получить эти метаданные, включите liveStreamingDetails в список частей ресурса в значении параметра part. В метаданные добавлены следующие новые свойства:

      • liveStreamingDetails.actualStartTime – время фактического начала трансляции. Это значение будет доступно, когда трансляция перейдет в статус active.
      • liveStreamingDetails.actualEndTime – время фактического окончания трансляции. (Это значение будет доступно после окончания трансляции.)
      • liveStreamingDetails.scheduledStartTime – время, на которое запланировано начало трансляции.
      • liveStreamingDetails.scheduledEndTime – время, когда трансляция должна закончиться. Если значение свойства не указано или свойство отсутствует, трансляция будет идти бесконечно.
      • liveStreamingDetails.concurrentViewers – количество зрителей прямой трансляции.

      Чтобы получить эти метаданные, включите liveStreamingDetails в значение параметра part при вызове метода videos.list, videos.insert или videos.update.

    Обратите внимание, что 1 октября 2013 года были выпущены две другие функции для идентификации контента прямых трансляций: параметр eventType метода search.list и свойство snippet.liveBroadcastContent результата поиска.

  • Метод videos.insert теперь поддерживает параметр notifySubscribers, который указывает, должен ли YouTube отправлять уведомление о новом видео пользователям, подписанным на канал. Значение по умолчанию – True. Это значит, что подписчики будут получать уведомления о новых видео. Однако если вы загружаете много видео, то можете установить значение False, чтобы не отправлять подписчикам уведомления о каждом новом ролике.

  • В список свойств, которые можно изменить при вызове метода channels.update, добавлены свойства invideoPromotion.items[].customMessage и invideoPromotion.items[].websiteUrl. Кроме того, в списке теперь указано, какие свойства brandingSettings можно изменять. Эти свойства brandingSettings уже можно было изменять, поэтому изменение документации не отражает изменение существующей функциональности API.

  • Методы playlists.insert, playlists.update и playlists.delete теперь поддерживают параметр onBehalfOfContentOwner, который уже поддерживается для нескольких других методов.

  • Метод playlists.insert теперь поддерживает параметр onBehalfOfContentOwnerChannel, который уже поддерживается для нескольких других методов.

  • Свойство contentDetails.contentRating.tvpgRating ресурса video теперь поддерживает значение pg14, которое соответствует рейтингу TV-14.

  • Определение свойства snippet.liveBroadcastContent, которое является частью результатов поиска, было исправлено, чтобы отразить, что live является допустимым значением свойства, а active – нет.

  • Свойство contentDetails.contentRating.mibacRating ресурса video теперь поддерживает два дополнительных рейтинга:

    • mibacVap (VAP) – дети должны быть в сопровождении взрослого.
    • mibacVm6 (V.M.6) – только для зрителей от 6 лет.
    • mibacVm12 (V.M.12) – только для зрителей от 12 лет.

  • Новое свойство invideoPromotion.items[].promotedByContentOwner ресурса channel указывает, будет ли имя владельца контента показываться при продвижении. Это поле можно задать, только если запрос к API, устанавливающий значение, выполняется от имени владельца контента. Подробную информацию вы найдете в описании параметра onBehalfOfContentOwner.

1 октября 2013 г.

В это обновление вошли следующие изменения.

  • Новый объект auditDetails ресурса channel содержит данные канала, которые многоканальная сеть (МКС) оценивает при принятии решения о том, принимать ли определенный канал. Обратите внимание, что любой запрос к API, который извлекает эту часть ресурса, должен содержать токен авторизации с областью действия https://www.googleapis.com/auth/youtubepartner-channel-audit. Кроме того, любой токен, использующий эту область действия, должен быть отозван, когда МКС решит принять или отклонить канал, или в течение двух недель с даты выпуска токена.

  • Свойство invideoPromotion.items[].id.type ресурса channel теперь поддерживает значение recentUpload, которое указывает, что продвигаемый объект – это последнее видео, загруженное на определенный канал.

    По умолчанию это тот же канал, для которого заданы данные промоакций видео на видеосайтах. Однако вы можете продвигать последнее загруженное видео с другого канала, указав идентификатор канала для этого канала в новом свойстве invideoPromotion.items[].id.recentlyUploadedBy.

  • Ресурс channel содержит три новых свойства (brandingSettings.image.bannerTvLowImageUrl, brandingSettings.image.bannerTvMediumImageUrl и brandingSettings.image.bannerTvHighImageUrl), которые указывают URL баннеров, показываемых на страницах каналов в приложениях для телевизоров.

  • Новое свойство snippet.liveBroadcastContent в результатах поиска указывает, есть ли в ресурсе видео или канала контент прямой трансляции. Допустимые значения: upcoming, active и none.

    • Для ресурса video значение upcoming указывает, что видео – это прямая трансляция, которая ещё не началась, а значение active – что трансляция уже идет.
    • Для ресурса channel значение upcoming указывает, что на канале есть запланированная трансляция, которая ещё не началась, а значение acive – что на канале идет прямая трансляция.

  • В ресурсе watermark свойство targetChannelId изменено с объекта на строку. Вместо дочернего свойства, в котором указывается идентификатор канала YouTube, связанного с логотипом, свойство targetChannelId теперь само указывает это значение. Соответственно, свойство targetChannelId.value ресурса было удалено.

  • Метод thumbnails.set теперь поддерживает параметр onBehalfOfContentOwner, который уже поддерживается для нескольких других методов.

  • Метод search.list теперь поддерживает параметр eventType, который позволяет ограничить поиск только активными, предстоящими или завершенными трансляциями.

  • Новое свойство contentDetails.contentRating.mibacRating определяет возрастной рейтинг, присвоенный видео Министерством культурного наследия, культурной деятельности и туризма Италии.

  • Теперь API поддерживает следующие ошибки:

    Тип ошибки Сведения об ошибке Описание
    badRequest invalidImage Метод thumbnails.set возвращает эту ошибку, если предоставленный контент изображения недействителен.
    forbidden videoRatingDisabled Метод videos.rate возвращает эту ошибку, если владелец видео, которое оценивается, отключил оценки для этого видео.

27 августа 2013 г.

В это обновление вошли следующие изменения.

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

    Метод watermarks.set позволяет загрузить и установить логотип канала. Метод watermarks.unset удаляет водяной знак канала.

    В документации по ошибкам описаны сообщения об ошибках, которые API поддерживает специально для методов watermarks.set и watermarks.unset.

  • Новое свойство statistics.hiddenSubscriberCount ресурса channel содержит логическое значение, которое указывает, скрыто ли число подписчиков канала. Если число подписчиков канала видно всем, значением свойства будет false.

  • Метод playlists.list теперь поддерживает параметры onBehalfOfContentOwner и onBehalfOfContentOwnerChannel. Оба параметра уже поддерживаются для нескольких других методов.

  • Метод videos.list теперь поддерживает параметр regionCode, который определяет регион, для которого нужно получить рейтинг. Этот параметр можно использовать только вместе с параметром chart. Значение параметра – код страны в формате ISO 3166-1 alpha-2.

  • В error documentation описана следующая новая распространенная ошибка запроса, которая может возникать при использовании нескольких методов API:

    Тип ошибки Сведения об ошибке Описание
    forbidden insufficientPermissions Области действия, связанные с токеном OAuth 2.0, который указан в запросе, не позволяют получить доступ к запрашиваемым данным.

15 августа 2013 г.

В это обновление вошли следующие изменения.

  • Объект invideoPromotion ресурса channel имеет следующие новые и обновленные свойства:

    • Теперь API позволяет указывать сайт в качестве продвигаемого объекта. Для этого задайте для свойства invideoPromotion.items[].id.type значение website и укажите URL в новом свойстве invideoPromotion.items[].id.websiteUrl. Также используйте новое свойство invideoPromotion.items[].customMessage, чтобы задать специальное сообщение, которое будет показываться в рамках промоакции.

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

      Добавляя рекламные ссылки, вы соглашаетесь с тем, что они не будут использоваться для перенаправления трафика на неавторизованные сайты и что они будут соответствовать правилам AdWords, правилам размещения рекламы на YouTube, правилам сообщества YouTube и Условиям использования YouTube.

    • Изменена структура свойств, связанных с настройками времени показа продвигаемых товаров во время воспроизведения видео:

      • Объект invideoPromotion.timing перемещен в ячейку invideoPromotion.items[].timing. Теперь этот объект позволяет настраивать данные о времени для каждого продвигаемого объекта в списке invideoPromotion.items[].

      • Новый объект invideoPromotion.defaultTiming задает настройки времени по умолчанию для промоакции. Эти настройки определяют, когда продвигаемый контент будет показываться во время воспроизведения видео на вашем канале. Вы можете переопределить время по умолчанию для любого продвигаемого объекта с помощью объекта invideoPromotion.items[].timing.

      • Новое свойство invideoPromotion.items[].timing.durationMs определяет время показа промоакции в миллисекундах. Объект invideoPromotion.defaultTiming также содержит поле durationMs, в котором указывается время показа продвигаемого объекта по умолчанию.

    • Свойства invideoPromotion.items[].type и invideoPromotion.items[].videoId перемещены в объект invideoPromotion.items[].id.

  • Метод subscriptions.list теперь поддерживает параметры onBehalfOfContentOwner и onBehalfOfContentOwnerChannel. Оба параметра уже поддерживаются для нескольких других методов.

  • В ответе API на запрос thumbnails.set значение свойства kind изменилось с youtube#thumbnailListResponse на youtube#thumbnailSetResponse.

  • Добавлены примеры кода для следующих методов:

    Обратите внимание, что пример кода на Python для метода playlistItems.insert также был удален, поскольку за его функциональность теперь отвечает метод videos.rate.

  • В error documentation описана следующая новая ошибка контекста запроса, которая может возникнуть при использовании любого метода API, поддерживающего параметр запроса mine:

    Тип ошибки Сведения об ошибке Описание
    badRequest invalidMine Параметр mine нельзя использовать в запросах, в которых аутентифицированный пользователь является партнером YouTube. Удалите параметр mine, выполните аутентификацию в качестве пользователя YouTube, удалив параметр onBehalfOfContentOwner, или укажите параметр onBehalfOfContentOwnerChannel, если он доступен для вызываемого метода.

8 августа 2013 г.

В это обновление вошли следующие изменения.

30 июля 2013 г.

В это обновление вошли следующие изменения.

  • В ресурсе channelBanner значение свойства kind изменилось с youtube#channelBannerInsertResponse на youtube#channelBannerResource. Этот ресурс возвращается в ответ на запрос channelBanners.insert.

  • Новое свойство brandingSettings.channel.profileColor ресурса channel определяет основной цвет, который дополняет контент канала. Значение свойства – это знак решетки (#), за которым следует шестнадцатеричная строка из шести символов, например #2793e6.

  • Теперь API позволяет указать, на что именно оформляется подписка: на все действия на канале или только на новые видео. Новое свойство contentDetails.activityType ресурса subscription определяет типы действий, о которых будет уведомлен подписчик. Допустимые значения: all и uploads.

  • Метод videos.list поддерживает новые параметры для получения хит-парада самых популярных видео на YouTube:

    • Параметр chart определяет, какой рейтинг вы хотите получить. В настоящее время поддерживается только значение mostPopular. Обратите внимание, что chart – это параметр фильтра, поэтому его нельзя использовать в одном запросе с другими параметрами фильтра (id и myRating).
    • Параметр videoCategoryId определяет категорию видео, для которой нужно получить рейтинг. Этот параметр можно использовать только вместе с параметром chart. По умолчанию в хит-парадах нет ограничений по категориям.

  • Новое свойство topicDetails.relevantTopicIds[] ресурса video содержит список идентификаторов тем Freebase, связанных с видео или его контентом. Темы могут упоминаться или появляться в видео.

  • Свойство recordingDetails.location.elevation ресурса video переименовано в recordingDetails.location.altitude, а свойство fileDetails.recordingLocation.location.elevation – в fileDetails.recordingLocation.location.altitude.

  • Объект contentDetails.contentRating ресурса video содержит информацию о возрастных ограничениях, установленных для видео в соответствии с различными системами, включая MPAA, TVPG и т. д. Для каждой системы возрастных ограничений API теперь поддерживает значение, указывающее, что видео не имеет возрастных ограничений. Обратите внимание, что в системе MPAA значение "unrated" часто используется для обозначения полных версий фильмов, сокращенные версии которых получили официальное возрастное ограничение.

  • Новое свойство contentDetails.contentRating.ytRating ресурса video позволяет идентифицировать контент с ограничениями по возрасту. Если видео содержит контент, не предназначенный для зрителей младше 18 лет, свойство будет иметь значение ytAgeRestricted. Если свойство отсутствует или его значение не указано, значит контент не был идентифицирован как имеющий возрастные ограничения.

  • Параметр mySubscribers метода channels.list больше не поддерживается. Чтобы получить список подписчиков канала аутентифицированного пользователя, вызовите метод subscriptions.list с параметром mySubscribers.

  • Методы channelBanners.insert, channels.update, videos.getRating и videos.rate теперь поддерживают параметр onBehalfOfContentOwner. Этот параметр указывает, что аутентифицированный пользователь действует от имени владельца контента, указанного в значении параметра.

  • Документация по методу channels.update была обновлена. Теперь в ней указано, что этот метод можно использовать для обновления объекта brandingSettings ресурса channel и его дочерних свойств. В документации также приведен обновленный список свойств, которые можно задать для объекта invideoPromotion ресурса channel.

  • В error documentation описаны следующие новые ошибки:

    Тип ошибки Сведения об ошибке Описание
    forbidden accountDelegationForbidden Эта ошибка не связана с каким-либо конкретным методом API. Это означает, что у аутентифицированного пользователя нет разрешения на выполнение действий от имени указанного аккаунта Google.
    forbidden authenticatedUserAccountClosed Эта ошибка не связана с каким-либо конкретным методом API. Она означает, что аккаунт YouTube аутентифицированного пользователя закрыт. Если пользователь действует от имени другого аккаунта Google, эта ошибка означает, что другой аккаунт закрыт.
    forbidden authenticatedUserAccountSuspended Эта ошибка не связана с каким-либо конкретным методом API. Это означает, что аккаунт YouTube аутентифицированного пользователя заблокирован. Если пользователь действует от имени другого аккаунта Google, эта ошибка указывает на то, что заблокирован другой аккаунт.
    forbidden authenticatedUserNotChannel Эта ошибка не связана с каким-либо конкретным методом API. Она означает, что сервер API не может определить канал, связанный с запросом к API. Если запрос авторизован и в нем используется параметр onBehalfOfContentOwner, необходимо также задать параметр onBehalfOfContentOwnerChannel.
    forbidden cmsUserAccountNotFound Эта ошибка не связана с каким-либо конкретным методом API. Пользователь CMS не может действовать от имени указанного владельца контента.
    notFound contentOwnerAccountNotFound Эта ошибка не связана с каким-либо конкретным методом API. Указанный аккаунт владельца контента не найден.
    badRequest invalidPart Эта ошибка не связана с каким-либо конкретным методом API. В параметре part запроса указаны части, которые не могут быть записаны одновременно.
    badRequest videoChartNotFound Метод videos.list возвращает эту ошибку, если в запросе указан неподдерживаемый или недоступный рейтинг видео.
    notFound videoNotFound Метод videos.update возвращает эту ошибку, если не удается найти видео, которое вы пытаетесь обновить. Проверьте значение свойства id в теле запроса.

10 июня 2013 г.

В это обновление вошли следующие изменения.

  • Новый параметр forUsername метода channels.list позволяет получать информацию о канале по имени пользователя YouTube.

  • Метод activities.list теперь поддерживает параметр regionCode, который указывает API возвращать результаты, относящиеся к указанной стране. YouTube использует это значение, если предыдущие действия авторизованного пользователя на YouTube не предоставляют достаточно информации для создания фида действий.

  • Ресурсы плейлистов теперь содержат свойство snippet.tags. Это свойство возвращается только авторизованным пользователям, которые запрашивают данные о собственных плейлистах. Авторизованные пользователи также могут задавать теги плейлистов при вызове методов playlists.insert или playlists.update.

  • Параметр onBehalfOfContentOwner, который ранее поддерживался для методов channels.list и search.list, теперь также поддерживается для методов videos.insert, videos.update и videos.delete. Обратите внимание, что при использовании этого параметра в вызове метода videos.insert в запросе также должно быть указано значение нового параметра onBehalfOfContentOwnerChannel, который идентифицирует канал, на который будет добавлено видео. Канал должен быть связан с владельцем контента, указанным в параметре onBehalfOfContentOwner.

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

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

    В частности, теперь параметр позволяет партнеру добавлять, обновлять и удалять видео на любом из своих каналов YouTube.

  • В error documentation описаны следующие новые ошибки:

    Тип ошибки Сведения об ошибке Описание
    forbidden insufficientCapabilities Эта ошибка не связана с каким-либо конкретным методом API. Это означает, что у пользователя CMS, вызывающего API, недостаточно разрешений для выполнения запрошенной операции. Эта ошибка связана с использованием параметра onBehalfOfContentOwner, который поддерживается несколькими методами API.
    unauthorized authorizationRequired Метод activities.list возвращает эту ошибку, если в запросе используется параметр home, но запрос не авторизован должным образом.
  • Из ресурса channels удалено свойство invideoPromotion.channelId, поскольку идентификатор канала уже указан в свойстве id.

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

22 мая 2013 г.

В это обновление вошли следующие изменения.

14 мая 2013 г.

В это обновление вошли следующие изменения.

  • На отдельных страницах теперь приведены примеры кода для Java, .NET, PHP и Ruby.

  • На странице с примерами кода на Python теперь есть примеры добавления подписки, создания плейлиста и обновления видео.

10 мая 2013 г.

В это обновление вошли следующие изменения.

8 мая 2013 г.

В это обновление вошли следующие изменения.

  • Ресурсы channel теперь поддерживают объект inVideoPromotion, который содержит информацию о рекламной кампании, связанной с каналом. В рамках рекламной кампании видео на видеосайтах на канале можно показывать значки продвигаемых видео в видеопроигрывателе во время воспроизведения роликов.

    Чтобы получить эти данные, включите invideoPromotion в значение параметра part в запросе channels.list.

  • Новый метод channels.update позволяет обновлять данные о рекламных кампаниях в видео на канале. Обратите внимание, что этот метод поддерживает только обновление части invideoPromotion ресурса channel и пока не поддерживает обновление других частей этого ресурса.

2 мая 2013 г.

В это обновление вошли следующие изменения.

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

  • Ресурсы подписок теперь поддерживают часть subscriberSnippet. Этот объект содержит фрагмент данных о канале подписчика.

  • Теперь API поддерживает метод videos.getRating, который позволяет получить оценки, поставленные пользователем, прошедшим аутентификацию, одному или нескольким видео.

  • Новый параметр myRating метода videos.list позволяет получить список видео, которым пользователь, прошедший аутентификацию, поставил оценку like или dislike.

    Параметры myRating и id теперь считаются параметрами фильтрации, а это значит, что в запросе к API должен быть указан только один из них. Ранее параметр id был обязательным для этого метода.

    Если запрос на получение информации о возрастных ограничениях видео не авторизован должным образом, метод возвращает ошибку forbidden.

  • В связи с введением параметра myRating метод videos.list также был обновлен для поддержки разбивки на страницы. Однако обратите внимание, что параметры разбивки на страницы поддерживаются только для запросов, в которых используется параметр myRating. Параметры и информация о разбиении на страницы не поддерживаются для запросов, в которых используется параметр id.

    • Параметр maxResults определяет максимальное количество видео, которое API может вернуть в наборе результатов, а параметр pageToken указывает на конкретную страницу в наборе результатов, которую вы хотите получить.

    • Ресурс youtube#videoListResponse, который возвращается в ответ на запрос videos.list, теперь содержит объект pageInfo, в котором указаны такие сведения, как общее количество результатов и количество результатов, включенных в текущий набор результатов. Ресурс youtube#videoListResponse также может включать свойства nextPageToken и prevPageToken, каждое из которых предоставляет токен, который можно использовать для получения определенной страницы в наборе результатов.

  • Метод videos.insert поддерживает следующие новые параметры:

    • autoLevels – задайте для этого параметра значение true, чтобы YouTube автоматически улучшал освещение и цвета в видео.
    • stabilize – задайте для этого параметра значение true, чтобы YouTube удалил из видео дрожание, вызванное движениями камеры.

  • Свойство channelTitle добавлено в snippet для следующих ресурсов:

    • playlistItem – название канала, на котором был добавлен элемент плейлиста.
    • playlist – название канала, на котором создан плейлист.
    • subscription – название канала, на который оформлена подписка.

  • Добавлены примеры кода для следующих методов:

  • Новый параметр mySubscribers метода subscriptions.list позволяет получить список подписчиков пользователя, прошедшего аутентификацию. Этот параметр можно использовать только в авторизованном запросе.

    Примечание. Эта функция должна заменить параметр mySubscribers, который сейчас поддерживается для метода channels.list. Поддержка этого параметра будет прекращена.

  • В ресурсе video значение свойства unspecified больше не является возможным значением для любого из следующих свойств:

  • Запросы к API, содержащие непредвиденный параметр, теперь возвращают ошибку badRequest с причиной unexpectedParameter.

  • Изменено сообщение об ошибке, которое возвращает метод playlistItems.insert, когда плейлист уже содержит максимально допустимое количество объектов. Теперь ошибка регистрируется как forbidden, а ее причина – playlistContainsMaximumNumberOfVideos.

19 апреля 2013 г.

В это обновление вошли следующие изменения.

  • Новый метод videos.rate позволяет пользователю поставить видео оценку like или dislike или удалить оценку.

    Документация по ошибкам также была обновлена. Теперь в ней перечислены ошибки, которые API может возвращать в ответ на вызов метода videos.rate.

  • Теперь в документации по API значки видео определяются как отдельный ресурс, а новый метод thumbnails.set позволяет загружать на YouTube собственные значки и устанавливать их для видео.

    Документация по ошибкам также была обновлена. Теперь в ней перечислены ошибки, которые API может возвращать в ответ на вызов метода thumbnails.set.

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

  • Новый раздел brandingSettings ресурса channel содержит настройки, текст и изображения для страницы канала и страниц просмотра видео.

  • Ресурс playlistItem содержит следующие новые свойства:

    • Новый объект status содержит информацию о статусе видео в плейлисте, а свойство status.privacyStatus определяет статус конфиденциальности видео в плейлисте.

  • Ресурс video содержит следующие новые свойства:

  • В документацию по методу playlistItems.update добавлено указание на то, что свойство snippet.resourceId должно быть задано в ресурсе, который отправляется в теле запроса.

  • Метод search.list теперь поддерживает следующие функции:

    • Новый параметр forMine позволяет ограничить поиск только видео аутентифицированного пользователя.

    • Параметр order теперь поддерживает сортировку результатов по названию в алфавитном порядке (order=title) или по количеству видео в порядке убывания (order=videoCount).

    • Новый параметр safeSearch указывает, должны ли результаты поиска включать контент с ограничениями.

  • Метод videos.insert поддерживает несколько новых ошибок, перечисленных в таблице ниже.

    Тип ошибки Сведения об ошибке Описание
    badRequest invalidCategoryId В свойстве snippet.categoryId указан недопустимый идентификатор категории. Чтобы получить список поддерживаемых категорий, используйте метод videoCategories.list.
    badRequest invalidRecordingDetails В теге metadata указаны недопустимые сведения о записи.
    badRequest invalidVideoGameRating В метаданных запроса указан недопустимый возрастной рейтинг видеоигры.
    badRequest invalidVideoMetadata Недопустимые метаданные запроса.
  • Параметр onBehalfOfContentOwner удален из списка поддерживаемых параметров для методов videos.update и videos.delete.

12 марта 2013 г.

В это обновление вошли следующие изменения.

  • Свойство channelTitle добавлено в snippet для следующих ресурсов:

    • activity – название канала, на котором произошло действие.
    • search – название канала, связанного с ресурсом, который указан в результате поиска.
    • video – название канала, на который загружено видео.

  • Метод search.list поддерживает следующие новые параметры:

    • Параметр channelType позволяет ограничить поиск каналов, чтобы получить все каналы или только телешоу.

    • Параметр videoType позволяет ограничить поиск видео, чтобы получить все видео, только фильмы или только эпизоды шоу.

  • Определение части recordingDetails ресурса video было обновлено. Теперь в нем указано, что объект будет возвращаться для видео, только если для него заданы данные о геолокации или время записи.

  • Метод playlistItems.update теперь возвращает ошибку invalidSnippet, если в запросе к API не указан действительный фрагмент.

  • Некоторые методы API поддерживают новые параметры, предназначенные исключительно для партнеров YouTube. Партнерами YouTube по контенту являются кино- и телестудии, звукозаписывающие компании и другие авторы, которые размещают свой контент на YouTube.

    • Параметр onBehalfOfContentOwner указывает, что учетные данные авторизации запроса идентифицируют пользователя системы управления контентом YouTube, который действует от имени владельца контента, указанного в значении параметра. Аккаунт CMS, с помощью которого пользователь проходит аутентификацию, должен быть связан с указанным владельцем контента YouTube.

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

      Этот параметр поддерживается методами channels.list, search.list, videos.delete, videos.list и videos.update.

    • Параметр managedByMe, который поддерживается методом channels.list, указывает API, что нужно вернуть все каналы, принадлежащие владельцу контента, указанному в параметре onBehalfOfContentOwner.

    • Параметр forContentOwner, который поддерживается методом search.list, указывает API, что в результатах поиска должны быть только ресурсы, принадлежащие владельцу контента, указанному в параметре onBehalfOfContentOwner.

25 февраля 2013 г.

В это обновление вошли следующие изменения.

  • В API добавлена поддержка нескольких новых частей и свойств для ресурсов video:

    • Новые части fileDetails, processingDetails и suggestions содержат информацию о загруженных видео. Эти данные очень полезны в приложениях, которые позволяют загружать видео, и включают следующее:

      • статус и ход обработки;
      • ошибки и другие проблемы, возникшие при обработке видео;
      • доступность уменьшенных изображений;
      • предложения по улучшению качества видео или метаданных;
      • сведения об исходном файле, загруженном на YouTube;

      Все эти части может получить только владелец видео. Ниже приведено краткое описание новых частей, а в документации по ресурсу video определены все свойства, которые содержит каждая часть.

      • Объект fileDetails содержит информацию о видеофайле, загруженном на YouTube, в том числе о его разрешении, продолжительности, аудио- и видеокодеках, битрейтах потоков и т. д.

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

        Этот объект предназначен для опроса, чтобы пользователь, загрузивший видео, мог отслеживать ход обработки загруженного видеофайла на YouTube.

      • Объект suggestions содержит рекомендации по улучшению качества видео или метаданных загруженного видео.

    • Часть contentDetails содержит четыре новых свойства. Эти свойства можно получить с помощью неаутентифицированных запросов.

      • dimension – указывает, доступно ли видео в 2D или 3D.
      • definition – указывает, доступно ли видео в стандартном разрешении или HD.
      • caption – указывает, есть ли в видео субтитры.
      • licensedContent – указывает, содержит ли видео контент, на который заявил права партнер YouTube.

    • В часть status добавлены два новых свойства. Владельцы видео могут задавать значения для обоих свойств при добавлении или обновлении видео. Эти свойства также можно получить с помощью неаутентифицированных запросов.

      • embeddable – указывает, можно ли встроить видео на другой сайт.
      • license – лицензия на видео. Допустимые значения: creativeCommon и youtube.

  • Определение параметра part было обновлено для методов videos.list, videos.insert и videos.update, чтобы включить в список новые части, описанные выше, а также часть recordingDetails, которая была случайно пропущена.

  • Новое свойство contentDetails.googlePlusUserId ресурса channel указывает идентификатор профиля Google+, связанного с каналом. Это значение можно использовать для создания ссылки на профиль Google+.

  • Теперь в каждом объекте значка указывается ширина и высота изображения. В настоящее время уменьшенные изображения возвращаются в ресурсах activity, channel, playlist, playlistItem, search result, subscription и video.

  • Метод playlistItems.list теперь поддерживает параметр videoId, который можно использовать вместе с параметром playlistId, чтобы получить только тот элемент плейлиста, который представляет указанное видео.

    Если видео, указанное в параметре, не найдено в плейлисте, API возвращает ошибку notFound.

  • В документации по ошибкам описана новая ошибка forbidden, которая означает, что запрос не авторизован должным образом для запрошенного действия.

  • Свойство snippet.channelId ресурса channel удалено. Свойство id ресурса предоставляет то же значение.

30 января 2013 г.

В это обновление вошли следующие изменения.

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

16 января 2013 г.

В это обновление вошли следующие изменения.

  • Примеры кода теперь доступны для методов и языков, указанных в списке ниже.

  • Ресурс activity теперь может сообщать о действии channelItem, которое происходит, когда YouTube добавляет видео на автоматически созданный канал. (YouTube автоматически определяет темы, которым посвящено много видео, и создает для них каналы.)

  • Обновлены следующие параметры (search.list):

    • Параметр q больше не используется в качестве фильтра, а значит…
    • Параметр relatedToVideo переименован в relatedToVideoId.
    • Параметр published заменен двумя новыми параметрами: publishedAfter и publishedBefore. Они описаны ниже.

  • Метод search.list поддерживает следующие новые параметры:

    Название параметра Значение Описание
    channelId string Возвращает ресурсы, созданные указанным каналом.
    publishedAfter datetime Возвращает ресурсы, созданные после указанного времени.
    publishedBefore datetime Возвращает ресурсы, созданные до указанного времени.
    regionCode string Возвращает ресурсы для указанной страны.
    videoCategoryId string Фильтрация результатов поиска видео, чтобы в них включались только видео, связанные с указанной категорией видео.
    videoEmbeddable string Фильтр, позволяющий оставить в результатах поиска только те видео, которые можно воспроизвести во встроенном проигрывателе на веб-странице. Чтобы получить только видео, которые можно встраивать, задайте для параметра значение true.
    videoSyndicated string Фильтрация результатов поиска видео, чтобы в них включались только видео, которые можно воспроизводить за пределами YouTube.com. Чтобы получать только синдицированные видео, задайте для параметра значение true.
  • Несколько ресурсов API поддерживают новые свойства. В таблице ниже перечислены ресурсы и их новые свойства.

    Ресурс Название свойства Значение Описание
    activity contentDetails.playlistItem.playlistItemId string Уникальный идентификатор, который YouTube присваивает объекту в плейлисте.
    activity contentDetails.channelItem object Объект, содержащий информацию о ресурсе, который был добавлен в канал. Это свойство присутствует, только если snippet.type – channelItem.
    activity contentDetails.channelItem.resourceId object Объект, идентифицирующий ресурс, который был добавлен в канал. Как и другие свойства resourceId, оно содержит свойство kind, которое указывает тип ресурса, например видео или плейлист. Он также содержит ровно одно из нескольких свойств (videoId, playlistId и т. д.), которое указывает уникальный идентификатор этого ресурса.
    channel status object Объект, содержащий информацию о статусе конфиденциальности канала.
    channel status.privacyStatus string Статус конфиденциальности канала. Допустимые значения: private и public.
    playlist contentDetails object Этот объект содержит метаданные о контенте плейлиста.
    playlist contentDetails.itemCount unsigned integer Количество видео в плейлисте.
    playlist player object Этот объект содержит информацию, которая используется для воспроизведения плейлиста во встроенном проигрывателе.
    playlist player.embedHtml string Тег <iframe>, который встраивает видеопроигрыватель, воспроизводящий плейлист.
    video recordingDetails object Этот объект содержит информацию, которая идентифицирует или описывает место и время записи видео.
    video recordingDetails.location object Этот объект содержит информацию о геолокации, связанную с видео.
    video recordingDetails.location.latitude double Широта в градусах.
    video recordingDetails.location.longitude double Долгота в градусах.
    video recordingDetails.location.elevation double Высота над уровнем моря в метрах.
    video recordingDetails.locationDescription string Текстовое описание места, где было записано видео.
    video recordingDetails.recordingDate datetime Дата и время записи видео. Значение указывается в формате ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
  • В документации по нескольким методам API теперь указаны свойства, которые должны быть заданы в теле запроса или обновлены на основе значений в теле запроса. В таблице ниже перечислены эти методы, а также обязательные и изменяемые свойства.

    Примечание. В документации по другим методам могут быть перечислены обязательные и изменяемые свойства.

    Метод Свойства
    activities.insert Обязательные свойства:
    • snippet.description
    Изменяемые свойства:
    • snippet.description
    • contentDetails.bulletin.resourceId
    playlists.update Обязательные свойства:
    • id
    playlistItems.update Обязательные свойства:
    • id
    videos.update Обязательные свойства:
    • id
  • API больше не сообщает об ошибке playlistAlreadyExists, если вы пытаетесь создать или обновить плейлист, название которого совпадает с названием уже существующего плейлиста на том же канале.

  • Некоторые методы API поддерживают новые типы ошибок. В таблице ниже указаны методы и новые ошибки, которые теперь поддерживаются.

    Метод Тип ошибки Сведения об ошибке Описание
    guideCategories.list notFound notFound Не удалось найти категорию руководства, указанную в параметре id. Чтобы получить список допустимых значений, используйте метод guideCategories.list.
    playlistItems.delete forbidden playlistItemsNotAccessible Запрос не авторизован должным образом для удаления указанного объекта плейлиста.
    videoCategories.list notFound videoCategoryNotFound Не удалось найти категорию видео, указанную в параметре id. Чтобы получить список допустимых значений, используйте метод videoCategories.list.