Youtube API

时间:2017-10-08 21:06:12

标签: api youtube youtube-api youtube-data-api

在Youtube API的2.0版本(已停产)中,API文档指定了如何制定复合/短语搜索的逻辑,API v3.0的等效信息是什么?

我需要做些什么才能将我的关键字转换为适用于API v3.0的工作?

以下是v2.0的文字:

  

q参数指定搜索查询字词。 YouTube将搜索所有内容   与该术语匹配的视频的视频元数据。视频元数据包括   标题,关键词,描述,作者和#39;用户名和类别。   请注意参数中的任何空格,引号或其他标点符号   值必须是URL转义。

     

要搜索确切的短语,请将其括起来   引号中的短语。例如,要搜索匹配的视频   短语"间谍平面",将q参数设置为%22spy + plane%22。您的   请求也可以使用布尔NOT( - )和OR(|)运算符   排除视频或查找与其中一个相关联的视频   几个搜索词。例如,要搜索匹配的视频   要么"划船"或"航行",将q参数设置为   划船|帆船。 (请注意,管道符必须进行URL转义。)   同样,要搜索匹配"划船"或"航行"   但不是"钓鱼",将q参数设置为划船+钓鱼。

2 个答案:

答案 0 :(得分:0)

你可以测试这个api过滤器是否相同:这里有youtube和wikipedia的例子。正如您可以在浏览器调试器上显示的那样,所有参数都通过管道“|”发送到参数“q” ...

window.searchModule = {

  cors: "http://crossorigin.me/",
  wikiEndpoint: "https://en.wikipedia.org/w/api.php",
  ytEndpoint: "https://www.googleapis.com/youtube/v3/search",
  ytKey: "AIzaSyDsPK3Cs1A4ipMjNr147ubG5HpoDyW6zzk",

  init: function(sentSearch) {
    var self = this,
        bandCheck = $("#bandCheckbox").is(":checked");

    if(bandCheck == true) {
      sentSearch = sentSearch + "+(band)";
    }

    self.wikiSearch(sentSearch);
    self.ytSearch(sentSearch);
    self.watchers();
  },

  wikiSearch: function(sentSearch) {
    var self = this;

    $.ajax({
      url: self.cors + self.wikiEndpoint + "?action=query&list=search&srsearch=" + sentSearch + "&srlimit=1&format=json",
      success: function(response) {
        //console.log(response.query);
        self.formatWiki(response.query);
      },

      error: function(response) {
        console.log(response);
      }
    })
  } .....

https://codepen.io/anon/pen/QqmgGB

答案 1 :(得分:0)

您尝试过了吗

q: '\b(billy the cat)\b',