Избранное | Русский | Войти

Руководство по переходу на новую версию

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

Содержание

Введение

Обзор

YouTube стал ведущим средством размещения видео в Интернете. С момента выхода самого первого API REST/XML-RPC в 2005 году благодаря труду тысяч разработчиков все больше и больше людей получают возможность смотреть видеоролики, которые пользователи со всего мира добавляют на YouTube. Теперь, когда наш сайт стал более солидным, мы хотим предоставить разработчикам надежный API с широким набором возможностей. Мы решили переписать API и стандартизировать его на основе существующего протокола данных Google. Для этого есть множество причин, например, желание увеличить масштабируемость и предоставить больше ресурсов для разработчиков. В этом документе мы расскажем, что появилось нового и что нужно сделать, чтобы перейти на использование новой версии на своем веб-сайте или в приложении. Немало полезной информации можно найти также в справочном руководстве и руководствах для разработчиков на вашем языке.

Кому стоит переходить на новую версию?

Всем, кто использует старый API, следует перейти на API на основе данных Google. В старом API больше не будут добавляться новые функции, а исправлены будут только наиболее серьезные неполадки.

Каков крайний срок для обновления?

Старый API будет работать до 30 августа 2008 года. Мы не можем гарантировать его работу после этой даты. Рекомендуем произвести миграцию как можно раньше, поскольку вопросы по API Legacy будут рассматриваться только после решения более насущных задач.

В чем разница между старым и новым API?

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

Каналы данных видео

Операции Старый API API данных YouTube Примечания и комментарии
Поиск по индексу YouTube videos.list_by_tag&tag="SEARCH TERMS" /feeds/api/videos?vq="SEARCH TERMS"
  • Старый API возвращает результаты поиска по релевантности.
  • Новый API поддерживает такие фильтры как сортировка по релевантности, времени добавления, оценке и количеству просмотров.
  • Поиск по определенной категории videos.list_by_category_and_tag&tag="SEARCH TERMS"&category_id=CATEGORY_ID /feeds/api/videos/-/CATEGORY_NAME
  • Старый API не позволяет создавать перечни видео без категории.
  • Новые каналы данных категорий поддерживают эту возможность, а также позволяют выбирать несколько категорий.
  • Запрос метаданных видео videos.get_details&video_id=VIDEO_ID /feeds/api/videos/VIDEO_ID
    Запрос видеоответов на видео Недоступно /feeds/api/videos/VIDEO_ID/responses
    Запрос комментариев к видео videos.get_details&video_id=VIDEO_ID /feeds/api/VIDEO_ID/comments
  • Старый API с помощью функции get_details возвращает только десять комментариев
  • Новый API возвращает все комментарии и сохраняет их иерархию.
  • API данных YouTube на данный момент не запрашивает ID разработчика, который необходим для любого вызова старого API. Мы обсуждаем возможность введения новых функций в виде параметров и фильтров.

    Разбивка на страницы возможна и в старом, и в новом API. Ниже перечислены новые параметры разбивки на страницы.

    • start-index – указывает, с какого сообщения начать перечисление результатов; этот параметр не совпадает с параметром page в старом API, который указывает, какую страницу результатов следует отображать
    • max-results – указывает максимальное количество отображаемых сообщений; он совпадает с параметром per_page в старом API

    Например, если нужно разбить 1000 результатов поиска по 50 на странице, исходный параметр start-index будет равен 1, а max-results – 50. На следующем шаге параметр start-index будет равен start-index + max-results, 51. В старом API параметр page будет начинаться со значения 1, а per_page будет равен 50. Параметр page затем изменится на 2 и будет таким же образом увеличиваться на каждом следующем шаге.

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

    • vq – запрос на поиск по всему тексту (поиск таких элементов как заголовки или описание видео, теги и т.п.)
    • format – ограничивает поиск определенным форматом видео (например, format=0 означает Flash, все видео досупны в этом формате); список доступных форматов см. в справочном руководстве
    • alt – управляет форматом результатов (RSS, Atom, JSON), как описано здесь: http://code.google.com/intl/ru/apis/gdata/reference.html#Queries
    • author – сужает поиск до видео, загруженных определенным пользователем YouTube, как описано здесь: http://code.google.com/intl/ru/apis/gdata/reference.html#Queries
    • orderby – порядок, в котором возвращаются результаты поиска, может быть relevance (по умолчанию), published, viewCount или rating
    • racy – при добавлении racy=include результаты поиска будут включать содержание с ограниченным доступом, отмеченное сообществом; по умолчаню установлено значение exclude

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

    http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&dev_id=DEV_ID&tag=monkey&page=1&per_page=50
    http://gdata.youtube.com/feeds/api/videos?vq=monkey&start-index=1&max-results=50

    Поступил также запрос на возможность сортировки каналов данных видео, так чтобы первыми возвращались самые новые видео. Для этого в API данных YouTube достаточно добавить параметр orderby=published.

    http://gdata.youtube.com/feeds/api/videos?vq=monkey&orderby=published&start-index=1&max-results=50

    Каналы пользователей

    Операции Старый API API данных YouTube Примечания и комментарии
    Запрос профиля пользователя users.get_profile&user=USERNAME /feeds/api/users/USERNAME
    Запрос видео пользователя videos.list_by_user&user=USERNAME /feeds/api/users/USERNAME/uploads
    Запрос избранных видео users.list_favorite_videos&user=USERNAME /feeds/api/users/USERNAME/favorites
  • Старый API возвращает не более 10 избранных видео пользователя
  • Новый API возвращает все видео из избранного с разбивкой на страницы.
  • Запрос плейлистов пользователя Недоступно /feeds/api/users/USERNAME/playlists
  • Старый API с помощью параметра get_details возвращает только 10 комментариев.
  • Новый API возвращает все комментарии и сохраняет их иерархию.
  • Запрос подписок пользователя Недоступно /feeds/api/users/USERNAME/subscriptions

    Запрос списка видео определенного пользователя с помощью строго и нового API:

    http://www.youtube.com/api2_rest?method=youtube.videos.list_by_user&dev_id=DEV_ID&user=USERNAME
    http://gdata.youtube.com/feeds/api/users/USERNAME/uploads

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

    http://gdata.youtube.com/feeds/api/users/USERNAME/uploads?vq="dogs on bicycles"

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

    Каналы плейлистов

    Операции Старый API API данных YouTube Примечания и комментарии
    Запрос видео из плейлиста videos.list_by_playlist&id=PLAYLIST_ID /feeds/api/playlists/PLAYLIST_ID
    Запрос плейлистов пользователя N/A /feeds/api/users/USERNAME/playlists

    В старом API запрос списка видео из определенного плейлиста выглядит следующим образом:

    http://youtube.com/dev_api_ref?m=youtube.videos.list_by_playlist&dev_id=DEV_ID&id=PLAYLIST_ID

    Запрос в API данных YouTube выглядит так:

    http://gdata.youtube.com/feeds/api/playlists/PLAYLIST_ID

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

    Что дальше?

    Мы планируем продолжать разработку API на основе данных Google и добавлять новые функции, такие как загрузка и вызовы функций записи. Если у вас есть какие-то пожелания или информация об ошибках, сообщите о них в системе отслеживания проблем Данных Google. Мы также вводим поддержку API YouTube в клиентских библиотеках данных Google. Поддержка Java уже осуществляется, скоро появится поддержка PHP и Python. Если у вас возникли вопросы, задайте их на нашем форуме. Приятного вам кодирования!

    Наверх