Twitch API搜索流通过Javascript AJAX -获得所有流

Twitch API search stream via Javascript AJAX - get all streams

本文关键字:AJAX Javascript API 搜索 Twitch      更新时间:2023-09-26

我有一个ajax函数点击Twitch API来查找"星际争霸"流。

$.ajax({
  type: 'GET', 
  url: 'https://api.twitch.tv/kraken/search/streams?q=starcraft',
  headers: {'Client-ID': 'xxx'},
  success: function(json) {
    console.log(json);
}});

返回Object {_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等同于page。请注意,代码是未经测试的,只是一个起始点。

还要确保处理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;
}