Я пытаюсь выяснить, как получить данные 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>";
}