我试图使用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';
}
?>
我应该得到一个包含一些数据的警报框,但是我得到一个空警报框?
我做错了什么?
答案 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);