2017-03-01 99 views
1

js服务器运行来自riot.developer的一些基本api调用。 我打算为每个召唤师/游戏提供比赛历史和统计数据。为此,我假设我需要匹配ID。Riot API调用Node.js

我有几个电话工作,但似乎已经打到了这一块。可能盯着我的屏幕太久了! 这里是我的具体要求的代码,为了清楚,这个要求只是为比赛的id:

function(data, callback) { 
    var URL = 'https://euw.api.pvp.net/api/lol/euw/v2.2/matchlist/by-summoner/' + data.id + 'seasons=SEASON2016&beginIndex=0&endIndex=40&api_key=' + api_key; 
    request(URL, function (err, response, body) { 
     if (response.statusCode == 200) { 
      var json = json.parse(body); 
      var matchId = 0; 
      for (var c = 0; c < json['matches'].length; c++) { 
       data.matches = json['matches'].matchId; 
       data.matches = matchId; 
       console.log(data.matches); 
       callback(null, data); 
      } 
     } else { 
      console.log('line 82'); 
     } 

    }); 
}, 

我想我遇到的问题是我表达data.matches的方式。或者说没有时间表?

data.idapi_key定义在此功能的外部并正常工作。 无论如何,谢谢你们可能提供的任何帮助。

我应该提到我已经安装了快速句柄。

回答

0

好吧,我想我已经解决了这个问题。 (我花了太久了!) 这里是我的编辑功能:

function(data, callback) { 
    var URL = 'https://euw.api.pvp.net/api/lol/euw/v2.2/matchlist/by-summoner/' + data.id + '?seasons=SEASON2016&beginIndex=0&endIndex=40&api_key=' + api_key; 
    request(URL, function(err, response, body) { 
     if(response.statusCode == 200) { 
     var json =JSON.parse(body); 
     for(var c = 0; c < json ['matches'].length; c++) { 
     data.matches = json['matches'][c].matchId; 
     console.log(data.matches) 
     }; 
     callback(null, data); 
     } else { 
     console.log('line 78'); 
    } 
    }) 
    } 

这有输出40 matchId在我的终端。只需要弄清楚如何添加一个索引现在; D

+0

如果您在Riot API中使用简单的Javascript,您的密钥对所有人开放。改为从服务器调用它。如果您更喜欢使用node.js,那么已经有库,因此您不必担心这些事情: 要安装它,请键入cmd:npm install irelia,然后下载此main.js:https:// github.com/Talha-T/irelia/blob/master/lib/main.js并用Irelia的main.js替换它。此外,这个自述应该让你去:https://github.com/Talha-T/irelia/blob/master/README.md –