php-youtube-api icon indicating copy to clipboard operation
php-youtube-api copied to clipboard

Add getAllPlaylistItemsByPlaylistId() method

Open ghost opened this issue 8 years ago • 2 comments

Will probably need changing to meet code style of library

Could do with metadata added to returned array

As such, unsure how a test would look like

ghost avatar Feb 03 '17 10:02 ghost

great job! I need this function!

guoxiangke avatar Aug 18 '23 23:08 guoxiangke

refactor by GPT

function getAllPlaylistItemsByPlaylistId($playlistId) {
    $playlistItems = [];

    $params = [
        'playlistId' => $playlistId,
        'part' => 'id, snippet, contentDetails, status',
    ];

    do {
        $raw = Youtube::getPlaylistItemsByPlaylistIdAdvanced($params, true);

        if ($raw['results'] !== false) {
            $playlistItems = array_merge($playlistItems, $raw['results']);
        }

        $params['pageToken'] = $raw['info']['nextPageToken'] ?? null;
    } while ($params['pageToken'] !== null);

    return $playlistItems;
}

guoxiangke avatar Aug 18 '23 23:08 guoxiangke