Получите данные плейлистов YouTube, включая каждое видео в плейлисте, используя следующую страницу - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь выяснить, как получить данные YouTube из API с помощью PHP / CRUL, чтобы вывести список всех списков воспроизведения YouTube внутри идентификатора моего канала, а затем получить все видеоданные в каждом списке воспроизведения.

  • Плейлист 1: Автомобили
  • Видео 1: BMW - продолжительность 10 минут
  • Видео 2: Ford - продолжительность 05 минут
  • Плейлист 2: Велосипеды
  • Видео 1: Honda - продолжительность 03 минуты
  • Видео 2: Yamaha - продолжительность 03 минуты
  • Видео 3: Kawasaki - продолжительность 02 минуты и т. Д.

Более 50плейлисты и некоторые с более чем 50 видео в плейлисте.Я просто не могу работать, чтобы использовать nextPageToken.Как мне поступить, есть ли какие-то классы, которые я могу использовать?

Спасибо за любой совет.

            function grabPLAYLISTS($pageToken){
                    $curl = curl_init();
                    curl_setopt_array($curl, array(
                      CURLOPT_URL => "https://www.googleapis.com/youtube/v3/playlists?part=snippet,contentDetails&channelId=&maxResults=10&key=&pageToken=".$pageToken,
                      CURLOPT_RETURNTRANSFER => true,
                      CURLOPT_ENCODING => "",
                      CURLOPT_MAXREDIRS => 10,
                      CURLOPT_TIMEOUT => 30,
                      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                      CURLOPT_CUSTOMREQUEST => "GET",
                      CURLOPT_HTTPHEADER => array(
                        "Cache-Control: no-cache"
                      ),
                    ));
                    $response = curl_exec($curl);
                    $err = curl_error($curl);
                    curl_close($curl);      
                    return json_decode($response, true);            

            }

            function grabITEMS($therequestedlist, $pageToken){

                  $curl2 = curl_init();     
                   curl_setopt_array($curl2, array(
                    CURLOPT_URL => "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet,contentDetails&key=&playlistId=".$therequestedlist."&maxResults=10&pageToken=".$pageToken,
                    CURLOPT_RETURNTRANSFER => true,
                    CURLOPT_ENCODING => "",
                    CURLOPT_MAXREDIRS => 10,
                    CURLOPT_TIMEOUT => 30,
                    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                    CURLOPT_CUSTOMREQUEST => "GET",
                    CURLOPT_HTTPHEADER => array(
                      "Cache-Control: no-cache"
                    ),
                  ));
                  $response2 = curl_exec($curl2);
                  $err2 = curl_error($curl2);     
                  curl_close($curl2);
                  return json_decode($response2, true);     

            }


            function grabVIDEO($videoID){
                $curl3 = curl_init();      
                           curl_setopt_array($curl3, array(
                             CURLOPT_URL => "https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,statistics&id=".$videoID."&key=", 
                             CURLOPT_RETURNTRANSFER => true,
                             CURLOPT_ENCODING => "",
                             CURLOPT_MAXREDIRS => 10,
                             CURLOPT_TIMEOUT => 30,
                             CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                             CURLOPT_CUSTOMREQUEST => "GET",
                             CURLOPT_HTTPHEADER => array(
                               "Cache-Control: no-cache"
                             ),
                           ));              
                           $response3 = curl_exec($curl3);
                           $err3 = curl_error($curl3);               
                           curl_close($curl3);                      
                           return json_decode($response3, true);

            }   

            $playlistdata = grabPLAYLISTS();
            $counter_playlistdata = count($playlistdata['items']) -1;

            $totalResults = $playlistdata['pageInfo']['totalResults'];
            $resultsPerPage = $playlistdata['pageInfo']['resultsPerPage'];

            for ($x = 0; $x <= $counter_playlistdata; $x++) {
                    $therequestedlist = $playlistdata['items'][$x]['id'];

                    echo "list ".$x."-".$therequestedlist."<br>";

            }   
...