Twitch API 通过 Javascript AJAX 搜索流 - 获取所有流
Twitch API search stream via Javascript AJAX - get all streams
我有一个 ajax 功能点击 Twitch API 以查找 "Starcraft" 流。
$.ajax({
type: 'GET',
url: 'https://api.twitch.tv/kraken/search/streams?q=starcraft',
headers: {'Client-ID': 'xxx'},
success: function(json) {
console.log(json);
}});
这个returnsObject {_total: 108, _links: Object, streams: Array[9]}
。我想要 streams
数组来保存所有流(所有 108 个)。
我试过向 url 添加限制和偏移量,如下所示:
https://api.twitch.tv/kraken/search/streams?limit=100&offset=0&q=starcraft
但这显然只适用于少于 100 个流的情况。任何熟悉 Twitch API 的人,有类似 limit=max
的东西吗?如果不是,解决方法是什么?
以下内容基于我对您的问题的评论,应该可以帮助您入门。我已经假设 offest
等同于页面。请注意,代码未经测试,仅作为起点。
还要确保处理来自 ajax 调用的失败,这样您就不会陷入无限循环。
fucntion GetAllStreams(){
var arrStreams = [];
var offset = 0;
var total = -1;
while(total < 0 || arrStreams.length < total)
{
$.ajax({
type: 'GET',
url: 'https://api.twitch.tv/kraken/search/streams?limit=100&offset=' + offset++ + '&q=starcraf',
headers: {'Client-ID': 'xxx'},
success: function(json) {
arrStreams.push(json.streams);
console.log(json);
console.log(arrStreams);
}});
}
retrun arrStreams;
}
我有一个 ajax 功能点击 Twitch API 以查找 "Starcraft" 流。
$.ajax({
type: 'GET',
url: 'https://api.twitch.tv/kraken/search/streams?q=starcraft',
headers: {'Client-ID': 'xxx'},
success: function(json) {
console.log(json);
}});
这个returnsObject {_total: 108, _links: Object, streams: Array[9]}
。我想要 streams
数组来保存所有流(所有 108 个)。
我试过向 url 添加限制和偏移量,如下所示:
https://api.twitch.tv/kraken/search/streams?limit=100&offset=0&q=starcraft
但这显然只适用于少于 100 个流的情况。任何熟悉 Twitch API 的人,有类似 limit=max
的东西吗?如果不是,解决方法是什么?
以下内容基于我对您的问题的评论,应该可以帮助您入门。我已经假设 offest
等同于页面。请注意,代码未经测试,仅作为起点。
还要确保处理来自 ajax 调用的失败,这样您就不会陷入无限循环。
fucntion GetAllStreams(){
var arrStreams = [];
var offset = 0;
var total = -1;
while(total < 0 || arrStreams.length < total)
{
$.ajax({
type: 'GET',
url: 'https://api.twitch.tv/kraken/search/streams?limit=100&offset=' + offset++ + '&q=starcraf',
headers: {'Client-ID': 'xxx'},
success: function(json) {
arrStreams.push(json.streams);
console.log(json);
console.log(arrStreams);
}});
}
retrun arrStreams;
}