如何在javascript中使用v3 URL API获取Youtube视频标题Ajax& JSON

时间:2015-01-19 06:06:00

标签: javascript json youtube youtube-api youtube-javascript-api

我只是想获取Youtube视频的标题。似乎无法解决这个问题。到目前为止,我有这个:

     q = 'https://www.googleapis.com/youtube/v3/videos?id='+ itemId +'&key='+ ytApiKey +'&fields=items(snippet(channelId,title,categoryId))&part=snippet' ;

$.ajax({
      url: q, 
      dataType: "jsonp",
      success: function(data){
               alert(data.items[0].title);
               console.log(data.snippet.title);            
      },
      error: function(jqXHR, textStatus, errorThrown) {
          alert (textStatus, + ' | ' + errorThrown);
      }
  });

谢谢,

2 个答案:

答案 0 :(得分:11)

我使用

工作了
https://www.googleapis.com/youtube/v3/videos?id=itemId&key=apiKey&fields=items(snippet(title))&part=snippet

alert(data.items[0].snippet.title);

所以,语法没有太大问题!但我发现在设置Google API的“允许引用者”时问题确实存在于后端。使用V3 API,您可以选择API应该属于哪些引用,因此其他人不能简单地窃取您的API并使用它。因此,如果请求源自您指定的域名/ IP,则API将起作用。 当我不给它限制时,代码可以工作,但是当我输入我的域时,它会失败!我输入了 .mydomainname.com / ,其格式与建议的格式相同,但它出错了。现在我已经弄清楚了原因。

答案 1 :(得分:4)

以下jquery代码将获取视频的标题。

$.ajax({
      url: "https://www.googleapis.com/youtube/v3/videos?id=" + videoId + "&key="+ apiKey + "&fields=items(snippet(title))&part=snippet", 
      dataType: "jsonp",
      success: function(data){
               console.log(data.items[0].snippet.title);           
      },
      error: function(jqXHR, textStatus, errorThrown) {
          alert (textStatus, + ' | ' + errorThrown);
      }
  });