如何组合功能以获取多种类型的信息
问题描述:
我使用Youtube Api获取有关单个视频的信息。当我做了一个像这样的网址的请求:如何组合功能以获取多种类型的信息
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(在网址中使用多个部分),并获取信息。
有没有人有线索如何使用一个函数做到这一点?
答
好吧,我发现了自己的答案:
$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;
这不是一个功能,但是这也将这样做TRIC :)