WebAPIで簡単にデータを蓄積できるところがGoogle Spreadsheetの超便利なところです。
スクリプトのデバッグをしていると、POSTを他のサーバから発行しないといけなくて面倒と思うことがあります。コード書く毎にデプロイしないといけないためです。
そこで、単体テスト用に関数を作って、その中でdoPost(e)を呼び出します。
Google Apps Script(GAS)でJOSONデータを受け取る場合は、
function doPost(e) { var params = JSON.parse(e.postData.getDataAsString()); }
ですが、これをローカルでデバッグする際のJSONデータの作成方法です。
ポイント
- GASのPOSTは特殊(parameterにデータは無い)
- データは、parameterのpostDataに入れておく。
- 入れておくデータはBlob形式
参考:https://qiita.com/shirakiya/items/db22de49f00710478cfc
なので、こういった形で作成
// デバッグ用の関数 function doPostTest() { //eの作成 var e = { postData : Utilities.newBlob('この中にJSONデータを入れる') }; //呼び出す。 doPost(e); }
あとは、AppsScriptの上部メニューで作ったDebug関数を指定して、デバッグを押下する。
ブレークポイントも有効なので、ゆっくりとデバッグできます。
SigFox BackendからのCallback呼び出しで、デバッグが面倒だったので、こういった形でデバッグしました。
SigFoxからダイレクトにGoogle Spreadsheetにほぼリアルタイムで受信データが送信できるので安価にシステム構築できるのは便利ですね。ただ、SigFoxの送信メッセージ上限(40回/日)は厳しいなぁ。
5分おきでデータが欲しい場合は採用できないのが難点。