mazinlabsのブログ

RubyとかCloudとかその辺の記事を書いたり書かなかったり

DevQuiz -Google Apps Script-

先週ぐらいからGoogle Developer Dayに参加するためのGoogle DevQuizに取り組んでました。


もっと早くからできたのにだらだらしてて最後は時間が足りなかったorz
そんなわけで解いた問題は
・ウォームアップクイズ
・Web Game
Google Apps Script


Web GameとGoogle Apps ScriptがJavaScriptだったけど簡単だった。
どっちも時間がないからひどいソースコードになっているのだが、まだましなApp Scriptの方を晒してみる。

function myFunction() {
  var url = 'http://gdd-2011-quiz-japan.appspot.com/apps_script/data?param=4952727427785109503';
  var fetch = UrlFetchApp.fetch( url );
  var json = Utilities.jsonParse( fetch.getContentText() );
  var ss = SpreadsheetApp.getActive();

  for(var i = 0; i < json.length; i++){
    sheet = ss.getSheetByName(json[i].city_name);
    for(var j = 1; j <= json[i].data.length; j++){
      range = sheet.getRange("A"+j+":C"+j);
      capa  = json[i].data[j-1].capacity;
      usage = json[i].data[j-1].usage;
      values = [[capa, usage, usage/capa*100+"%"]];
      range.setValues(values);
    }
  }
}

実験でシートを先に作成してしまったので、シートは選択するだけ。
この後にC列の有効値を小数点2桁にする処理を書きたかったのだが、やり方が分からなかったのでそこは手動でやった。


暇を見つけてもう少し改造しよう。。。