如何使用youTube API 3和PHP从YouTube视频中提取项目

时间:2017-03-07 16:55:12

标签: php jquery json ajax youtube-api

我试图使用php文件提取youTube视频的标题和说明。

到目前为止,我能够创建网址并粘贴到Chrome浏览器中,我得到了预期的结果。

现在,我想使用从ajax调用的PHP文件来做同样的事情。但是,我一无所获。

这是我到目前为止所做的:

HTML

<span class="icon iDocument" data-do='{"do":"getYoutube", "path":"xxx"}'</span>

ajax.js

$("[data-do]").click(function(event) {
    var params = $(this).data("do");
    var action = params['do'];

    switch (action) {
        case "getYoutube":
            script = "/admin/include/action/get_youtube.php";

            $.ajax({
                type: "POST",
                url: script,
                data: params
            }).done(function(data) {
                alert(data);
            }).fail(function() {
                alert("Error.");
            }).always(function(data) {

            })

            break;

        default:
            break;
    }
});

get_youtube.php

<?php
if ( isset($_POST['path']) && trim($_POST['path']) != '' ) {
    $get_path = trim($_POST['path']); // for use later

    // work OK if paste in a browser (vars are harcoded for testing purposes)
    $url ="https://www.googleapis.com/youtube/v3/videos/?key=keygoeshere&id=videoidgoeshere&part=snippet";

    $video = json_decode($url, true);

    $test = $video['kind']; // for testing purposes

    echo $test;

} else {
    echo 'Video path not found';
}
?>
我应该得到一个包含一些数据的警报框,但是我得到一个空警报框?

我做错了什么?

1 个答案:

答案 0 :(得分:1)

$url ="https://www.googleapis.com/youtube/v3/videos/?key=keygoeshere&id=videoidgoeshere&part=snippet";

$video = json_decode($url, true);

应该是

$url = @file_get_contents("https://www.googleapis.com/youtube/v3/videos/?key=keygoeshere&id=videoidgoeshere&part=snippet");

$video = json_decode($url, true);