2017-03-01 77 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 –