Как извлечь определенные c данные с веб-сайта и сохранить их в листе - PullRequest
0 голосов
/ 05 мая 2020

Я планирую получить список клана, примерно так:

Player ID Player выигрывает в среднем карт

Player 1 # 3G32DB4 343 5464

Player 2 # PP4V6SS 234 4512

...

Каждый клан может получить до 50 участников. В настоящее время я пытаюсь получить все идентификаторы и имена игроков, чтобы запустить мой код для каждого участника, чтобы собрать такие данные:

var response = UrlFetchApp.fetch ("https://royaleapi.com/data/player/cw_history/?player_tag=XXXXXXXXXXXXXXXXXXXX");

Я нашел эти исходники для идентификаторов кланов:

https://www.deckshop.pro/spy/clan/89UJ8J2J

https://royaleapi.com/clan/89UJ8J2J

официальный API разработчика игр, я попробовал, но мне нужна была авторизация. (https://developer.clashroyale.com/# / documentation )

Как проще всего получить список всех текущих членов клана и запустить код для каждого члена?

это мой текущий код для ОДНОГО участника SPECIFI C, план состоит в том, чтобы запустить его для каждого участника и построить суммы / средние значения. если хотите попробовать:

function royaleapi() {

  var response = UrlFetchApp.fetch("https://royaleapi.com/data/player/cw_history/?player_tag=29YY9L98C");
  var sheet = SpreadsheetApp.getActiveSheet();

  // Parse the JSON reply
  var json = response.getContentText();
  var data = JSON.parse(json);

  sheet.getRange(1,1).setValue("Rank");
  sheet.getRange(1,2).setValue("collection_day_battles_played");
  sheet.getRange(1,3).setValue("cards_earned");
  sheet.getRange(1,4).setValue("battles_lost");
  sheet.getRange(1,5).setValue("number_of_battles");
  sheet.getRange(1,6).setValue("wins");
  sheet.getRange(1,7).setValue("battles_won");
  sheet.getRange(1,8).setValue("timestamp");

  //start the loop
  for (var i=1; i<340; i++)
  {
    var rank = data["battles"][i-1]["rank"];
    sheet.getRange(i+1,1).setValue(rank);

    var collection_day_battles_played = data["battles"][i-1]["collection_day_battles_played"];
    sheet.getRange(i+1,2).setValue(collection_day_battles_played);

    var cards_earned = data["battles"][i-1]["cards_earned"];
    sheet.getRange(i+1,3).setValue(cards_earned);

    var battles_lost = data["battles"][i-1]["battles_lost"];
    sheet.getRange(i+1,4).setValue(battles_lost);

    var number_of_battles = data["battles"][i-1]["number_of_battles"];
    sheet.getRange(i+1,5).setValue(number_of_battles);

    var wins = data["battles"][i-1]["wins"];
    sheet.getRange(i+1,6).setValue(wins);

    var battles_won = data["battles"][i-1]["battles_won"];
    sheet.getRange(i+1,7).setValue(battles_won);

    var timestamp = data["battles"][i-1]["timestamp"];
    sheet.getRange(i+1,8).setValue(timestamp);
  }


}
...