На этой странице показаны примеры запросов к API данных YouTube. Вы используете API данных YouTube для получения ресурсов YouTube, таких как видео, каналы и плейлисты, и управления ими. Каждый пример ссылается на Google API Explorer и заполняет его, чтобы вы могли выполнить образец и просмотреть ответ.
Информацию о загрузке контента с помощью API данных YouTube см. в разделе Возобновляемые загрузки .
Обзор
Для ясности представления в примерах на этой странице показаны отличительные элементы каждого запроса и сокращен базовый URL-адрес хоста, обрабатывающего запросы API данных ( https://www.googleapis.com/youtube/v3
). Чтобы сделать запрос вне контекста примеров, вам необходимо указать полный URL-адрес.
Например, вот пример запроса, который отображается на этой странице:
GET {base-URL}/channels?part=contentDetails &mine=true
Полный URL-адрес этого запроса:
GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails &mine=true
Некоторые запросы извлекают данные, доступные только владельцу канала YouTube, например список подписчиков. Эти запросы требуют, чтобы владелец канала предоставил Google APIs Explorer право выполнять запросы YouTube Data API от его имени. (Подробную информацию об авторизации доступа к данным частного канала см. в разделе «Реализация аутентификации OAuth 2.0» .) После подключения к проводнику API нажмите кнопку «Авторизовать запросы с использованием OAuth 2.0» . Этот шаг разрешает API Explorer делать запросы от имени владельца. Вы также выбираете область авторизации, которая определяет типы запросов, которые может выполнять API Explorer.
Ответом на каждый запрос является JSON- представление ресурса YouTube. Параметр part
в запросе указывает, какие части ресурса включены в ответ. Параметр определяет одно или несколько свойств ресурса верхнего уровня (не вложенных), которые следует включить в ответ. Например, некоторые части видеоресурса :
- фрагмент
- содержаниеПодробности
- игрок
- статистика
- статус
Все эти части представляют собой объекты, содержащие вложенные свойства, и вы можете думать об этих объектах как о группах полей метаданных, которые сервер API может (или не может) получить. Таким образом, параметр part
требует, чтобы вы выбрали компоненты ресурсов, которые фактически использует ваше приложение. Дополнительную информацию см. в разделе «Начало работы с API данных YouTube» .
Получить информацию о канале
Этот запрос использует метод channels.list
для получения сведений о каналах, принадлежащих аутентифицированному пользователю.
GET {base_URL}/channels?part=contentDetails &mine=true
Ответ на этот запрос включает идентификатор канала и contentDetails
для канала аутентифицированного пользователя. contentDetails
включает в себя несколько списков воспроизведения, созданных системой, связанных с каналом. Для многих последующих запросов требуется либо идентификатор канала, либо один из идентификаторов списка воспроизведения, поэтому важно их записать.
{
"id":{CHANNEL_ID} ,
"kind": "youtube#channel",
"etag":etag ,
"contentDetails": {
"relatedPlaylists": {
"likes":{LIKES_PLAYLIST_ID} ,
"favorites":{FAVORITES_PLAYLIST_ID} ,
"uploads":{UPLOADS_PLAYLIST_ID} ,
"watchHistory":{WATCHHISTORY_PLAYLIST_ID} ,
"watchLater":{WATCHLATER_PLAYLIST_ID}
},
"googlePlusUserId":string
},
}
Загруженные видео и плейлисты, созданные системой.
YouTube добавляет все загруженные видео в плейлист, связанный с каналом. Чтобы получить список загруженных видео, вы запрашиваете список воспроизведения «загрузки», возвращенный в ответе, показанном выше, для получения информации о канале , используя метод playlistItems.list
для получения видео в этом списке воспроизведения.
Прежде чем выполнять следующий пример запроса в Google API Explorer, замените {UPLOADS_PLAYLIST_ID} идентификатором списка воспроизведения из предыдущего запроса.
GET {base_URL}/playlistItems?part=contentDetails &playlistId={UPLOADS_PLAYLIST_ID}
Обратите внимание, что значение "id"
для каждого возвращаемого элемента — это его идентификатор playlistItem. Идентификатор видео для элемента списка воспроизведения — это videoId
в части contentDetails
.
Вы можете получить избранное, лайки, историю просмотров или списки просмотра позже, используя приведенный выше запрос, заменив соответствующий идентификатор списка воспроизведения из ответа с информацией о канале.
Плейлисты, созданные пользователями
Этот запрос использует метод playlists.list
для получения списков воспроизведения, связанных с проверенным каналом. Обратите внимание, что этот запрос не извлекает созданные системой плейлисты, включенные в информацию о канале (загрузки, история просмотра и т. д.). Он извлекает только созданные пользователем плейлисты.
GET {base_URL}/playlists?part=snippet &mine=true
Получив идентификатор списка воспроизведения, вы можете получить элементы из списка воспроизведения, используя запрос, показанный в предыдущем разделе .
Вы можете запросить информацию об общедоступных плейлистах канала без аутентификации. Когда вы отправляете запрос без аутентификации, вам необходимо включить аргумент key
, который указывает уникальный ключ API для приложения, отправляющего запрос. Например, этот запрос извлекает плейлисты, связанные с каналом GoogleDevelopers.
GET {base_URL}/playlists?part=snippet &channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw &key={YOUR_API_KEY}
Получить подписки
Ресурс subscription
определяет связь между пользователем YouTube (подписчиком) и каналом. Метод subscriptions.list
извлекает подписчиков на определенный канал или подписки для конкретного пользователя, в зависимости от того, какие параметры вы включаете в запрос.
Подписчики канала
Этот запрос получает список подписчиков аутентифицированного канала.
GET {base_URL}/subscriptions?part=snippet &mySubscribers=true
Подписки пользователей
Тот же метод, который выводит список подписчиков ( subscriptions.list
), можно использовать для вывода списка каналов, на которые подписывается пользователь. Этот запрос использует параметр mine
для получения списка каналов YouTube, на которые подписывается аутентифицированный пользователь.
GET {base_URL}/subscriptions?part=snippet &mine=true
Получить активность пользователя
Ресурс activity
содержит информацию о действии, которое совершил конкретный канал или пользователь на YouTube – загрузил видео, подписался на канал и так далее. activities.list
извлекает действия, связанные с каналом или пользователем, которые соответствуют критериям запроса. Например, вы можете получить действия, связанные с определенным каналом, подписками пользователя или пользовательской домашней страницей YouTube.
Активность в течение периода времени
Этот запрос получает все действия, которые аутентифицированный пользователь предпринял в апреле 2013 года.
GET {base_URL}/activities?part=snippet,contentDetails &mine=true &publishedAfter=2013-04-01T00%3A00%3A00Z &publishedBefore=2013-05-01T00%3A00%3A00Z
Действия на главной странице
Этот запрос получает специальный канал активности, который отображается на домашней странице YouTube прошедшего проверку подлинности пользователя.
GET {base_URL}/activities?part=snippet,contentDetails &home=true
Чтобы получить статистику просмотров, показатели популярности и демографическую информацию для видео и каналов YouTube, вы используете API YouTube Analytics . На странице «Примеры запросов API» показано, как получить общие отчеты из YouTube Analytics.
Поиск
Метод search.list
позволяет искать видео, каналы или плейлисты YouTube, соответствующие указанным критериям. Вы можете выполнять поиск по свойствам видео, ключевым словам или темам (или их комбинации), а также сортировать результаты по таким факторам, как дата создания, количество просмотров или рейтинг.
Как и другие запросы API данных YouTube, метод search.list
возвращает JSON-представление ресурса YouTube. Однако в отличие от других ресурсов YouTube результат поиска не является постоянным объектом с уникальным идентификатором.
Многие запросы ищут общедоступный контент и поэтому не требуют аутентификации. Среди приведенных ниже примеров только первый требует аутентификации, так как конкретно запрашивает «мои» видео. Когда вы отправляете запрос без аутентификации, вам необходимо включить аргумент key
, который определяет уникальный ключ API для вашего приложения .
Мои самые просматриваемые видео
Этот запрос извлекает все видео аутентифицированного пользователя и перечисляет их в порядке убывания количества просмотров.
GET {base_URL}/search?part=snippet &forMine=true &order=viewCount &type=video
Встраиваемые видео высокой четкости
Этот запрос ищет видео с определенными свойствами, а именно видео высокой четкости, которые можно встроить на другие сайты. В нем перечислены результаты в порядке убывания рейтинга.
GET {base_URL}/search?part=snippet &order=rating &type=video &videoDefinition=high &videoEmbeddable=true &key={YOUR_API_KEY}
Видео на определенную тему
Этот запрос выполняет поиск по ключевым словам видео об API данных YouTube, которые включают субтитры.
GET {base_URL}/search?part=snippet &q=YouTube+Data+API &type=video &videoCaption=closedCaption &key={YOUR_API_KEY}
Тематический поиск
Более сложный способ поиска видео по определенной теме — использовать темы Freebase вместо ключевых слов. Канал YouTube и видеоресурсы содержат объект themeDetails , который содержит список идентификаторов тем Freebase, связанных с ресурсом. Поиск по теме более интеллектуален, чем поиск по ключевым словам, поскольку тема Freebase представляет все аспекты реальной концепции или вещи.
Для поиска по теме Freebase сначала необходимо получить идентификатор темы с помощью API Freebase . Этот запрос возвращает видео, связанные с темой Freebase для Python, идентификатор темы которой — /m/05z1_
.
GET {base_URL}/search?part=snippet &topicId=/m/05z1_ &type=video &key={YOUR_API_KEY}
Поиск плейлистов или каналов
Поиск не ограничивается видео. Вы также можете искать плейлисты или каналы. Этот запрос извлекает плейлисты, соответствующие ключевому слову «футбол».
GET {base_URL}/search?part=snippet &q=soccer &type=playlist &key={YOUR_API_KEY}
Если вы предпочитаете искать футбольные каналы, просто измените параметр type
.
GET {base_URL}/search?part=snippet &q=soccer &type=channel &key={YOUR_API_KEY}
Если вам нужен весь контент, связанный с футболом (каналы, плейлисты и видео), вы можете выполнить универсальный поиск. Если вы опустите параметр type
, запрос получит содержимое всех типов.
GET {base_URL}/search?part=snippet &q=soccer &key={YOUR_API_KEY}
Создание и обновление ресурсов
Все запросы, которые мы рассмотрели до сих пор, используют метод HTTP GET для получения данных YouTube. API данных YouTube также предлагает методы, использующие HTTP POST для создания или обновления ресурсов YouTube, таких как видео, плейлисты или каналы. Следующие запросы содержат примеры.
Методы POST включают Request body
, которое представляет собой JSON-представление создаваемого или обновляемого ресурса. Вы можете создавать представления JSON в проводнике API Google с помощью интерактивного инструмента.
Создать подписку
Этот запрос подпишет аутентифицированного пользователя на канал GoogleDevelopers. Другими словами, он создает ресурс подписки.
POST {base_URL}/subscriptions?part=snippet
Request body: { 'snippet': { 'resourceId': { 'kind': 'youtube#channel', 'channelId': 'UC_x5XG1OV2P6uZZ5FSM9Ttw' } } }
Создать плейлист
Этот запрос создает новый общедоступный плейлист.
POST {base_URL}/playlists?part=snippet
Request body: { 'snippet': { 'title': 'New playlist', 'description': 'Sample playlist for Data API', } }
Добавление видео в плейлист
Теперь, когда мы создали плейлист, давайте добавим в него видео. Этот запрос добавляет видео в начало списка воспроизведения ( 'position': 0
).
POST {base_URL}/playlistItems?part=snippet Request body: { 'snippet': { 'playlistId': '{PLAYLIST_ID}', 'resourceId': { 'kind': 'youtube#video', 'videoId': '{VIDEO_ID}' } 'position': 0 } }