PHP-Youtube API 3-file_get_contents无法正常工作

时间:2018-08-10 17:27:36

标签: php json google-api file-get-contents youtube-data-api

我一直在尝试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输入请求网址,那么它可以正常工作...

我错过了重要的事情吗?

0 个答案:

没有答案