Php Vimeo API集成
我正在尝试创建一个网站,使用viemo api搜索视频,然后以xml格式输出它们。我本来开局不错,但现在我被卡住了。用户输入正在发布,但firebug控制台上没有显示任何结果 下面是用于vimeo api集成的my.php:Php Vimeo API集成,php,api,vimeo,Php,Api,Vimeo,我正在尝试创建一个网站,使用viemo api搜索视频,然后以xml格式输出它们。我本来开局不错,但现在我被卡住了。用户输入正在发布,但firebug控制台上没有显示任何结果 下面是用于vimeo api集成的my.php: <? include('connect.php'); $video_id= $_POST['text']; $url = 'http://vimeo.com/api/rest/v2'; $url .= '?'; $url .= 'method=vimeo.
<?
include('connect.php');
$video_id= $_POST['text'];
$url = 'http://vimeo.com/api/rest/v2';
$url .= '?';
$url .= 'method=vimeo.videos.search&';
$url .= 'oauth_consumer_key='.$api_key2.'&';
$url .= 'per_page=10&';
$url .= 'query='.$video_id.'&';
$url .= 'sort=relevant&';
$url .= 'full_response=1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$curl_response = curl_exec($ch);
curl_close($ch);
$xmlObject = simplexml_load_string($curl_response);
$title= 'title';
$id = 'id';
$video_url = 'videosurl';
$thumbnails = 'thumbnail[1]';
$outputXML .= "";
$outputXML .= "<rsp>\n";
foreach($xmlObject->videos as $video) {
$videoTagBegin = "\t<video>\n";
$urlXML = "\t\t<videosurl>".$video->attributes()->$video_url."</videosurl>\n";
$titleXML = "\t\t<title>".$video->attributes()->$title."</title>\n";
$thumbXML = "\t\t<thumbnail>".$video->attributes()->$thumbnails."</thumbnail>\n";
$videoTagEnd = "\t</video>\n";
$outputXML .= $videoTagBegin.$titleXML.$thumbXML.$urlXML.$videoTagEnd;
}
$outputXML .= "</rsp>";
print $outputXML;
?>
视频作为$video){
$videoTagBegin=“\t\n”;
$urlXML=“\t\t”。$video->attributes()->$video\u url.\n”;
$titleXML=“\t\t”。$video->attributes()->$title。”\n”;
$thumbXML=“\t\t”。$video->attributes()->$thumbnails。”\n”;
$videoTagEnd=“\t\n”;
$outputXML.=$videoTagBegin.$titleXML.$thumbXML.$urlXML.$videoTagEnd;
}
$outputXML.=“”;
打印$outputXML;
?>
任何帮助都将不胜感激。我完全卡住了
这是我的JS,如果它有帮助的话
function closeDivs(e) {
e.preventDefault();
$('').empty();
};
$(document).ready(function() {
$('#searchbtn').bind('click' || 'enter',function(e) {
if ($.trim($('#searchBox').val()) !== '') {
$('#videos').empty();
closeDivs(e);
$('#videos').append('<img src="img/loading.gif" alt="loading" class="loading" />');
getEvents(e);
getVideos(e);
}
});
function getEvents(e) {
e.preventDefault();
var text = 'event_id='+$('#searchBox').val();
$.ajax({
url: 'getEvents.php',
dataType: 'xml',
type: 'POST',
data: text,
success: function(data) {
},
error: function(data) {
console.log('Error: ' + data);
}
})
};
function getVideos(e) {
e.preventDefault();
var text = 'video_id='+$('#searchBox').val();
$.ajax({
url: 'getVideos.php',
dataType: 'xml',
type: 'POST',
data: text,
success: function(data) {
},
error: function(data) {
console.log('Error: ' + data);
}
})
};
});
功能关闭divs(e){
e、 预防默认值();
$('').empty();
};
$(文档).ready(函数(){
$('searchbtn').bind('click'| |'enter',函数(e){
if($.trim($('#搜索框').val())!=''){
$(“#视频”).empty();
收尾舱(e);
$(“#视频”)。追加(“”);
活动(e);
获取视频(e);
}
});
函数getEvents(e){
e、 预防默认值();
var text='event_id='+$('#searchBox').val();
$.ajax({
url:'getEvents.php',
数据类型:“xml”,
键入:“POST”,
数据:文本,
成功:函数(数据){
},
错误:函数(数据){
console.log('错误:'+数据);
}
})
};
功能视频(e){
e、 预防默认值();
var text='video_id='+$('#searchBox').val();
$.ajax({
url:'getVideos.php',
数据类型:“xml”,
键入:“POST”,
数据:文本,
成功:函数(数据){
},
错误:函数(数据){
console.log('错误:'+数据);
}
})
};
});
看来你没有从curl那里得到任何回报
试着像这样修改代码,看看是否有任何错误
if($curl_response===false)
{
exit('Curl error: ' . curl_error($ch));
}
在关闭curl调用之前-查看发生了什么curl\u responseNo中是否有任何内容。在firebug中,除了用户输入已发布外,不会显示任何内容。它说的是错误:[对象]。但就是这样。这可能是授权问题吗??我一直对OAuth的东西很困惑。当我添加这些东西时,什么都没有出现,但现在firebug显示它是用XML编写的,而不是别的。如果这有助于解决问题,我可以给你project的链接,Lol如果您回显,curl\u reponse包含什么?回显url并将其粘贴到终端:curl或浏览器,然后查看您得到了什么-您的呼叫显然存在问题-您可能对oauth的看法是正确的,但我认为您仍然应该得到响应OK这就是url回显响应: