2017-02-24 25 views
1

Ich habe die Methode des Erhaltens Videodauer versucht, durch diese urlYoutube API v3, wie man Videoplaylistendauern erhält?

GET und übergeben diese

diese Parameter
https://www.googleapis.com/youtube/v3/videos? 
id=QoQ_dHCi-08& // video id 
list=RDUZWrltQLTzE& // playlist id (TODO from this i want full duration) 
part=snippet,contentDetails& 
key={MYAPIKEY}& 
format=json& 
fields=items(snippet(title),contentDetails(duration)) 

, nachdem ich nur Play List Gesamtdauer auch die Methode gesehen bin immer sie Videodauer NICHT verwenden Link: http://youtube-playlist-analyzer ... i am getting total duration here but i want my own code to get this und ich brauchte nur die gesamte Länge der Playlist nach Code zu sehen. gibt es eine Methode, die ich kann Playlist-ID paas und bekommen Gesamtdauer.

Antwort

0
<?php 
    $result = array(); 
    function callone($playlistId, $nextpagetoken=''){ 
     $apikey = 'YOUR_API_KEY'; 
     $dur = file_get_contents("https://www.googleapis.com/youtube/v3/playlistItems?playlistId=".urlencode($playlistId)."&part=snippet&maxResults=50&key=$apikey&pageToken=$nextpagetoken&fields=items(snippet(resourceId(videoId))),nextPageToken"); 
     $youtubeInfo = json_decode($dur, true); 
     $sum=0; 
     for($i=0; $i<count($youtubeInfo['items']); $i++){ 
      $sum++; 
      $result[] = $youtubeInfo['items'][$i]['snippet']['resourceId']['videoId']; 
     } 
     echo '-'.$sum.'-'; 
     if(isset($youtubeInfo['nextPageToken'])){ 
      var_dump($youtubeInfo['nextPageToken']); 
      $result = array_merge($result, callone($playlistId, $youtubeInfo['nextPageToken'])); 

      unset($youtubeInfo['nextPageToken']); 
     } 
     return $result; 
    } 

// PLh-evOzpQ6aXxmdYLdHa2VjzkMA9340NO -> 20 songs 
// PLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj -> 176 songs 

$mani = callone('PLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj'); // playlistId with 176 songs 
echo "<pre>"; print_r($mani); 
?>