Google Apps Script(GAS) を使ったみたのと、外部から何か値を取得してみた
まとめ
JSON を返却してくれるサーバに問い合わせる場合は「UrlFetchApp
+ JSON.parse()
」を使うとしあわせになれるかもしれない
GAS でゴリゴリ書く感じではないと思うので、用途によっては外部リソースを簡単に取得できる中間サーバを用意するなどしたい
公式ドキュメントを Web ブラウザのページ内検索機能を駆使しつつ閲覧するのつらい
説明しないこと
- Google Apps Script の書き方と、その柔軟な書き方
- 記述した Google Apps Script をSpreadsheet 上で実行する方法
- Heroku の使い方
- PHP の書き方
書いたコード
実行するたびに「Hello, World!」が増えていく
index.php (Heroku にデプロイ):
<?php $data = array( 'message' => 'Hello, World!' ); header('Content-Type: application/json'); echo json_encode($data);
Code.gs :
// Entry Point function myFunction() { var data = getRemoteResource(); setDataToSheet1(data['message']); } function getSheet1() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("Sheet1"); return sheet; } function getRemoteResource() { var url = 'https://peaceful-sea-77297.herokuapp.com/'; var response = UrlFetchApp.fetch(url); var data = JSON.parse(response.getContentText()); return data; } // 既に書き込まれたセルの1つ下を(書き込みしつつ)探す // A列から1つずつ下に書き込むセル位置をずらして処理する function setDataToSheet1(data) { var i = 1; while(true) { var d = getSheet1().getRange('A' + i).getValue(); getSheet1().getRange('A' + i++).setValue(data); if (d.length == 0) { break; } } }