Как найти элемент плейлиста по идентификатору видео, если существует более 50 элементов плейлистаPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как найти элемент плейлиста по идентификатору видео, если существует более 50 элементов плейлиста

Сообщение Anonymous »

При поиске элемента плейлиста с определенным идентификатором видео youtube-api, похоже, выполняет поиск только среди 50 последних элементов плейлиста.

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

Код: Выделить всё

// This only searches among the first 50 playlist items
$videoId = 'ASDFQWER';
$playlistId = 'ASDFASDFQWERQWER';
$part = "contentDetails";
$response = $youtube->playlistItems->listPlaylistItems(
$part,
array(
"playlistId" => $playlistId,
"videoId" => $videoId,
)
);
$playlistItem = reset($response->getItems());

// This works, but is slow and awkward
$videoId = 'ASDFQWER';
$playlistId = 'ASDFASDFQWERQWER';
$part = "contentDetails";
$playlistItems = array();
$nextPageToken = NULL;
do {
$response = $youtube->playlistItems->listPlaylistItems(
$part,
array(
"playlistId" => $playlistId,
"maxResults" => 50,
"pageToken" => $nextPageToken,
)
);
$nextPageToken = $response->getNextPageToken();
$playlistItems = array_merge($playlistItems, $response->getItems());
} while ($nextPageToken);
$hasVideoId = function($playlistItem) use ($videoId){
$idOnItem = $playlistItem->getContentDetails()->getVideoId();
return ($videoId == $idOnItem);
};
$playlistItem = reset(array_filter($playlistItems, $hasVideoId));
Я бы предпочел использовать идентификатор видео для поиска на стороне YouTube, а не выбирать все элементы частями по 50 элементов и искать их по всем.

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

Сначала я открыл проблему на GitHub для PHP-клиента, но на самом деле это не проблема для клиента.

Любая помощь приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/250 ... aylist-ite
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как получить идентификаторы видео из частного плейлиста Dailymotion?
    Anonymous » » в форуме Php
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Как получить идентификаторы видео из частного плейлиста Dailymotion?
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как получить идентификаторы видео из частного плейлиста Dailymotion?
    Anonymous » » в форуме Php
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Видео на YouTube не подходит из созданного плейлиста
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как удалить видео из плейлиста с API Dailymotion?
    Anonymous » » в форуме Php
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»