我一直在尝试php上的Youtube API v3,并遇到了一些问题。
我想从api的json响应中获取视频的时间,所以我使用了file_get_contents(url here);
获取json响应。
问题: 我没有收到我想要的json响应,而只是一个结果为0的响应。
我的代码:
$live_lines = file("LiveList.list");
echo $live_lines[1];
$youtube_url = str_replace("</br>", "", $live_lines[1]);
echo $youtube_url;
$youtube_id = str_replace("https://www.youtube.com/watch?v=", "", $youtube_url);
echo $youtube_id;
$dur = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=".$youtube_id."&key=myAPIkeyHere");
echo $dur;
$song_time = "0";
$duration =json_decode($dur, true);
foreach ($duration['items'] as $vidTime) {
$song_time= $vidTime['contentDetails']['duration'];
}
$song_time = str_replace("PT", "", $song_time);
echo $song_time . PHP_EOL;
我得到的答复:
https://www.youtube.com/watch?v=W3GrSMYbkBE</br>
https://www.youtube.com/watch?v=W3GrSMYbkBE
W3GrSMYbkBE
{
"kind": "youtube#videoListResponse",
"etag": "\"XI7nbFXulYBIpL0ayR_gDh3eu1k/Rk41fm-2TD0VG1yv0-bkUvcBi9s\"",
"pageInfo": {
"totalResults": 0,
"resultsPerPage": 0
},
"items": []
}
0
我找不到问题所在,如果我在浏览器中使用在响应页面中收到的ID输入请求网址,那么它可以正常工作...
我错过了重要的事情吗?