В моем плейлисте более 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));
Смысл всего этого в том, чтобы автоматизировать удаление старых видео. Если я удалю только видео, в моем плейлисте останутся недействительные элементы. И поэтому мне нужно найти эти элементы плейлиста, чтобы удалить их вместе с видео.
Сначала я открыл проблему на GitHub для PHP-клиента, но на самом деле это не проблема для клиента.
Любая помощь приветствуется.
Подробнее здесь: https://stackoverflow.com/questions/250 ... aylist-ite