2017-10-08 132 views
0

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

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

下面是V2.0的文字:

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

要搜索一个确切的短语,请将 短语括在引号中。例如,要搜索匹配 短语“间谍飞机”的视频,请将q参数设置为%22spy +飞机%22。您的 请求也可以使用布尔NOT( - )和OR(|)运算符来排除视频或查找与某个搜索字词 相关联的视频。例如,要搜索匹配 “划船”或“航行”的视频,请将q参数设置为 划船|航行。 (请注意,管道角色必须通过网址转义。) 同样,要搜索匹配“划船”或“帆船” 而不是“钓鱼”的视频,请将q参数设置为划船|帆船+钓鱼。

回答

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