function getPlaylistItems($youtube, $playlistId) { $params = ['playlistId' => $playlistId, 'maxResults' => 50]; $pageToken = Pagination::getPlayListPage($playlistId); if (isset($_GET['page'])) { if (!$pageToken) { return []; } $params['pageToken'] = $pageToken; } $playlistItems = $youtube->playlistItems->listPlaylistItems('snippet,contentDetails', $params); $items = getPlaylistArray($playlistItems); Pagination::setPlayListPage($playlistId, $playlistItems->getNextPageToken()); return $items; }
<?php require_once '../autoload.php'; $user = Auth::user(); $gClient = Client::fromUserSession($user)->client(); $google_youtube = new Google_Service_YouTube($gClient); $playlistId = 'search'; // generic name // default params $params = ['maxResults' => 50, 'q' => $_GET['q'], 'type' => 'video']; // get page token $pageToken = Pagination::getPlayListPage($playlistId); if (isset($_GET['page'])) { if (!$pageToken) { json_encode([]); } $params['pageToken'] = $pageToken; } // handle results and save next page $resultsq = $google_youtube->search->listSearch('snippet', $params); Pagination::setPlayListPage('search', $resultsq->getNextPageToken()); /** @var Google_Service_YouTube_SearchListResponse $results */ $results = $resultsq->getItems(); $results_final = array(); foreach ($results as $result) { /** @var Google_Service_YouTube_SearchResult $result */ $snippet = $result->getSnippet(); /** @var Google_Service_YouTube_SearchResultSnippet $snippet */ $thumbs = $snippet->getThumbnails(); /** @var Google_Service_YouTube_ThumbnailDetails $thumbs */ $link = $result->getId()->videoId;