Реализация: плейлисты

В примерах ниже показано, как использовать YouTube Data API (v3) для выполнения функций, связанных с плейлистами и элементами плейлистов.

Получение плейлистов текущего пользователя

Вызовите метод playlists.list, чтобы получить плейлисты пользователя, прошедшего аутентификацию. В запросе задайте для параметра mine значение true. Обратите внимание, что запрос, в котором используется параметр mine, должен быть авторизован с помощью OAuth 2.0.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlists.list?
        part=snippet,contentDetails
        &mine=true

Получение плейлистов пользователя

В этом примере показано, как получить список плейлистов, созданных определенным каналом. Пример состоит из двух шагов:

Получение информации об определенном плейлисте

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

В запросе ниже вызывается метод playlists.list, чтобы получить количество объектов в двух плейлистах, соответствующих поисковому запросу "GoogleDevelopers". Эта информация находится в свойстве contentDetails.itemCount ресурса playlist, поэтому в запросе для параметра part задано значение contentDetails.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlists.list?
        part=contentDetails
        &id=PLOU2XLYxmsIIM9h1Ybw2DuRw6o2fkNMeR,PLyYlLs02rgBYRWBzYpoHz7m2SE8mEZ68w

Добавить плейлист

В этом примере метод playlists.insert вызывается для создания личного плейлиста на канале пользователя, прошедшего аутентификацию. Для любого запроса к API к этому методу требуется авторизация с помощью OAuth 2.0.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlists.insert?
        part=snippet,status

Ссылка на API Explorer также задает параметр, который определяет тело запроса к API. Тело запроса содержит ресурс playlist, в котором указана такая информация, как название, описание и статус доступа плейлиста. В этом примере тело запроса выглядит так:

{
  "snippet": {
    "title": "New playlist",
    "description": "New playlist description"
  },
  "status": {
    "privacyStatus": "private"
  }
}

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

{
  "snippet": {
    "title": "New playlist",
    "description": "New playlist description"
  },
  "status": {
    "podcastStatus": "enabled"
  }
}

Примеры кода: Java, JavaScript, .NET, PHP, Python.

Как изменить плейлист

В этом примере статус доступа к плейлисту меняется с private на public. Пример состоит из двух шагов:

  • Шаг 1. Получите идентификатор плейлиста

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

  • Шаг 2. Обновление плейлиста

    Вызовите метод playlists.update, чтобы изменить определенный плейлист. Для этого метода требуется действительный токен авторизации OAuth 2.0.

    Тело запроса должно содержать часть snippet ресурса playlist, поскольку при вызове этого метода требуется свойство snippet.title. Кроме того, если в обновляемом ресурсе playlist указаны значения свойств snippet.description или snippet.tags, их необходимо повторно указать в запросе на обновление, иначе они будут удалены.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlists.update?
            part=snippet,status

    Как и в примере выше, ссылка на API Explorer задает параметр, который определяет тело запроса к API. Тело запроса содержит ресурс playlist, в котором указывается название, описание и настройки конфиденциальности плейлиста. В этом примере используется следующее тело запроса:

    {
      "id": "PLAYLIST_ID",
      "snippet": {
        "title": "New playlist",
        "description": "New playlist description"
      },
      "status": {
        "privacyStatus": "public"
      }
    }

    В примере ниже плейлист помечается как подкаст:

    {
      "id": "PLAYLIST_ID",
      "snippet": {
        "title": "New playlist",
        "description": "New playlist description"
      },
      "status": {
        "podcastStatus": "enabled"
      }
    }

    Примечание. Если вы тестируете этот запрос в API Explorer, вам нужно будет подставить действительный идентификатор плейлиста в тело ресурса. Чтобы получить идентификатор плейлиста, рекомендуем сначала выполнить запрос, показанный выше, для добавления плейлиста. Извлеките идентификатор плейлиста из ответа API и используйте это значение для плейлиста, который хотите обновить. Название и описание плейлиста в этом примере такие же, как и в предыдущем.

Как добавить элемент в плейлист

В этом примере показано, как добавить трек в плейлист. Этот запрос должен быть авторизован с помощью OAuth 2.0. Этот пример состоит из двух шагов:

  • Шаг 1. Получите идентификатор плейлиста

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

  • Шаг 2. Добавьте видео в плейлист

    Вызовите метод playlistItems.insert, чтобы добавить видео в плейлист. Этот запрос должен быть авторизован с помощью OAuth 2.0. Тело запроса представляет собой ресурс playlistItem, в котором указаны как минимум следующие значения:

    • Значок snippet.playlistId указывает на плейлист, в который вы добавляете видео. Это идентификатор плейлиста, полученный на шаге 1.
    • snippet.resourceId.kind содержит значение youtube#video.
    • Значок snippet.resourceId.videoId указывает на видео, которое вы добавляете в плейлист. Значение свойства – это уникальный идентификатор видео на YouTube.

    В приведенном ниже запросе к API видео добавляется в плейлист. Тело запроса:

    {
      "snippet": {
        "playlistId": "PLAYLIST_ID",
        "resourceId": {
          "kind": "youtube#video",
          "videoId": "VIDEO_ID"
        }
      }
    }

    Чтобы выполнить запрос в API Explorer, необходимо задать значения для свойств snippet.playlistId и snippet.resourceId.videoId.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.insert?
            part=snippet

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

Как добавить изображение плейлиста

Чтобы загрузить свой значок и установить его для плейлиста, используйте метод playlistImages.insert API версии 3. В запросе значение параметра playlistId определяет плейлист, для которого будет использоваться значок.

Этот запрос нельзя протестировать с помощью API Explorer, поскольку он не поддерживает загрузку медиафайлов, которая требуется для этого метода.

Как изменить объект плейлиста

В этом примере элемент плейлиста обновляется так, чтобы он стал первым в плейлисте. Этот запрос должен быть авторизован с помощью OAuth 2.0. В этом примере три шага:

  • Шаг 1. Получите идентификатор плейлиста

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

  • Шаг 2. Получите список объектов в выбранном плейлисте

    Вызовите метод playlistItems.list, чтобы получить список видео в выбранном плейлисте. Задайте для параметра playlistId идентификатор плейлиста, полученный на шаге 1.

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

  • Шаг 3. Обновите выбранный элемент плейлиста

    Вызовите метод playlistItems.update, чтобы изменить позицию видео в плейлисте. Установите для параметра part значение snippet. Тело запроса должно быть ресурсом playlistItem, в котором заданы как минимум следующие значения:

    • Для свойства id задайте идентификатор элемента плейлиста, полученный на шаге 2.
    • Задайте для свойства snippet.playlistId идентификатор плейлиста, полученный на шаге 1.
    • Задайте для свойства snippet.resourceId.kind значение youtube#video.
    • Установите для свойства snippet.resourceId.videoId идентификатор видео, который однозначно определяет видео, включенное в плейлист.
    • Задайте для свойства snippet.position значение 0 или любое другое, соответствующее позиции, на которой должен появляться товар (используйте индекс, начинающийся с нуля).

    Приведенный ниже запрос к API позволяет изменить порядок элементов в плейлисте, сделав один из них первым. Тело запроса:

    {
      "id": "PLAYLIST_ITEM_ID",
      "snippet": {
        "playlistId": "PLAYLIST_ID",
        "resourceId": {
          "kind": "youtube#video",
          "videoId": "VIDEO_ID"
        },
        "position": 0
      }
    }

    Чтобы выполнить запрос в API Explorer, необходимо задать значения для свойств id, snippet.playlistId и snippet.resourceId.videoId.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.update?
            part=snippet

Как изменить изображение плейлиста

Чтобы обновить значок плейлиста, используйте метод playlistImages.update в API версии 3. В запросе значение параметра playlistId определяет плейлист, для которого будет использоваться значок.

Этот запрос нельзя протестировать с помощью API Explorer, поскольку он не поддерживает загрузку медиафайлов, которая требуется для этого метода.

Как удалить видео из плейлиста

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

После этого вызовите метод playlistItems.delete, чтобы удалить видео из плейлиста. Установите для параметра id запроса идентификатор объекта плейлиста, который вы хотите удалить. Этот запрос должен быть авторизован с помощью OAuth 2.0.

Обратите внимание, что идентификатор объекта плейлиста, используемый для идентификации видео в плейлисте, отличается от идентификатора видео YouTube, который уникальным образом идентифицирует видео. Идентификатор элемента плейлиста указывает на то, что видео является элементом определенного плейлиста.

Чтобы выполнить запрос в API Explorer, необходимо задать значение свойства id.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.delete?
        id=PLAYLIST_ITEM_ID

Как удалить изображение плейлиста

В этом примере удаляется изображение плейлиста. Пример состоит из двух шагов:

  • Шаг 1. Получите плейлист

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

  • Шаг 2. Получите идентификатор изображения плейлиста

    Вызовите метод playlistImages.list, чтобы получить значок плейлиста. Укажите идентификатор плейлиста, который нужно изменить.

  • Шаг 3. Удалите изображение плейлиста

    Чтобы удалить изображение плейлиста, вызовите метод playlistImages.delete. В запросе параметр id указывает идентификатор удаляемого изображения плейлиста. Для этого метода требуется действительный токен авторизации OAuth 2.0. Если вы тестируете этот запрос в API Explorer, вам нужно заменить значение параметра id на действительный идентификатор плейлиста.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistImages.delete?
            id=ID

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

Как удалить плейлист

В этом примере показано, как удалить плейлист. Пример состоит из двух шагов:

  • Шаг 1. Получите идентификатор плейлиста

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

  • Шаг 2. Удалите плейлист

    Вызовите метод playlists.delete, чтобы удалить определенный плейлист. В запросе параметр id указывает идентификатор удаляемого плейлиста. Для этого метода требуется действительный токен авторизации OAuth 2.0. Если вы тестируете этот запрос в API Explorer, вам нужно заменить значение параметра id на действительный идентификатор плейлиста.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlists.delete?
            id=PLAYLIST_ID

    Примечание. Если вы тестируете этот запрос в API Explorer, вам нужно заменить значение параметра id действительным идентификатором плейлиста. Чтобы получить идентификатор плейлиста, рекомендуем сначала выполнить запрос, описанный выше в разделе Добавление плейлиста. Извлеките идентификатор плейлиста из ответа API и используйте это значение для плейлиста, который хотите удалить.