Google Developer Day 2011:DevQuiz解答晒し大会(5)
分野別問題(4) Google Apps Script
APIのドキュメントを見ながら書いてみたスクリプトがこんな感じ。
function myFunction() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
var response = UrlFetchApp.fetch("http://gdd-2011-quiz-japan.appspot.com/apps_script/data?param=8020112495504250004");
var data_string = response.getContentText();
var data = Utilities.jsonParse(data_string);
for (var i = 0; i < data.length; i++) {
var city = data[i];
var sheet = spreadsheet.insertSheet();
sheet.setName(city["city_name"]);
var city_data = city["data"];
for (var j = 0; j < city_data.length; j++) {
var daily = city_data[j];
var usage = daily["usage"];
var capacity = daily["capacity"];
var rate = Math.floor(usage * 10000 / capacity + 0.5) / 100;
sheet.getRange(j+1, 2, 1, 1).setValue(usage);
sheet.getRange(j+1, 1, 1, 1).setValue(capacity);
sheet.getRange(j+1, 3, 1, 1).setValue(rate+"%");
}
}
var sheet = spreadsheet.getSheetByName("シート1");
if (sheet != null) {
spreadsheet.setActiveSheet(sheet);
spreadsheet.deleteActiveSheet();
}
}
5 months ago