Youtube JS API cuePlaylist Filtering
Youtube JS API cuePlaylist Filtering
我想为Youtube JS API的搜索查询添加排序,但我不能让它工作。
这是一个使用浏览器的标准搜索
https://www.youtube.com/results?search_query=test
这是脚本的一部分,执行相同的搜索,但使用播放器
player.cuePlaylist({listType:'search', list:'test'});
测试过了,效果很好。但是,当我想添加排序到搜索查询。它不工作。
例如,搜索带有额外过滤器"Today"的测试。IT不工作(播放列表是空数组)。
浏览器搜索
https://www.youtube.com/results?sp=CAESAggC&q=test
然而 这
player.cuePlaylist({listType:'search', list:'sp=CAESAggC&q=test'});
不产生结果。文档说明:
If the listType property value is search, then the list property specifies the search query.
我试着替换&与,A m p;(没有空格)但仍然没有骰子
我在文档中也找不到任何与过滤相关的内容。
基本上问题是我如何将过滤应用到cuePlaylist方法。
编辑:尝试:
player.cuePlaylist({listType:'search', list:'test', sp:'CAESAggC'});
sp什么也没做
我不确定cuePlaylist是否支持过滤,但是,我能建议的最接近的是使用搜索功能
type: 'GET',
data: {
key: 'API_KEY',
q: query,
part: 'snippet'
}
})
然后添加一个订单或您可以添加的任何过滤器,您可以检查搜索文档以获取更多信息。
下面是它的一个片段:
// search video
$("#search").click(function() {
var query = $("#query").attr("value");
if ( !query ) {
return;
}
$.ajax({
url: 'https://www.googleapis.com/youtube/v3/search',
dataType: 'json',
type: 'GET',
data: {
key: 'AIzaSyBda8mhaE8x10RiF0uzvBMPUszbUIQsy0g',
q: query,
part: 'snippet'
}
}).done(function(data) {
player.stopVideo();
player.clearVideo();
$('#video').fadeIn();
var videos = [];
console.log(data);
$.each(data.items, function() {
console.log(this.id.videoId)
videos.push(this.id.videoId);
});
// sort by favorite
videos = videos.sort(function(a, b) {
return b.favoriteCount - a.favoriteCount;
});
player.cuePlaylist(videos);
});
});
});
下面是代码片段的源代码,我使用教程做了一些调整,因为github使用的是api v2。
希望这对你有帮助!
相关文章:
- Filtering observableArray
- DataTables JQuery & filtering
- 在 dijit.form.Filtering中选择在 Dojo 中点击 URL
- Issue Filtering Knockout.js observable array
- Filtering column's collection
- Angular 2 filtering
- Youtube JS API cuePlaylist Filtering
- Underscore.js filtering JSON
- Filtering a JSON
- Applescript Filtering Arrays using whose ObjectSpecifier usi
- JQueryMobile filtering a XMLhttprequest