如何组合功能以获得多种类型的信息


How to combine functions to get several types of information

我使用Youtube Api获取关于单个视频的信息。当我用url做请求时:

https://www.googleapis.com/youtube/v3/videos?part=status,snippet,contentdetails&id=$videoID&key=$apikey

我得到了我需要的所有信息。问题是我找不到一种方法来结合我必须的功能,以便一次获得信息。

我得到了什么:

function getDescription($videoID){
    $apikey = "<MYKEY>";
    $desc = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=snippet&id=$videoID&key=$apikey");
    $description =json_decode($desc, true);
    foreach ($description['items'] as $videodesc)
   {
       $description= $videodesc['snippet']['description'];
   }
   return $description;
}
function getPublishedAt($videoID){
    $apikey = "<MYKEY>";
    $pub = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=snippet&id=$videoID&key=$apikey");
    $publish =json_decode($pub, true);
    foreach ($publish['items'] as $published)
   {
       $publish= $published['snippet']['publishedAt'];
   }
   $publish = new DateTime($publish);
   $publish = $publish->format('Y-m-d H:i:s');
   return $publish;
}
echo "<br>Description: ";
echo getDescription("<VIDEO-ID>");
echo "<br>PublishedAt: ";
echo getPublishedAt("<VIDEO-ID>");

所以,这段代码工作,但我喜欢做一个请求的api(在url中使用多个部分),并获得信息。

是否有人有线索如何做到这一点,只使用一个函数?

好了,我自己找到了答案:

$videoinfo = file_get_contents("https://www.googleapis.com/youtube/v3/videos?id=<video-id>&part=snippet,status,contentDetails,statistics&part=statistics&key=<api-key>");
   $videoinfo =json_decode($videoinfo, true);
   foreach ($videoinfo['items'] as $embed)
   {
       $emb= $embed['status']['embeddable'];
       $license= $embed['status']['license'];
       $duration= $embed['contentDetails']['duration'];
   }
echo $emb;   
echo $license;
echo $duration;

这不是一个函数,但它将执行以下操作:)