Google App Scriptの保存可能なプロパティ的なもの

Google App Script (以下GAS)で困るのがデータ保存をどうするかということ。

スプレッドシートならデータ用のシートを別に作成して、そこをデータベース代わりに使うらしい。ちなみにログも保存されないので、ログを残したければそういう形式を取るしか無い、不便。せめてログくらい何とかならないものかと思う。スクリプトの手動実行や、トリガー起動でもそのスクリプトのページ開いてて、実行してすぐなら見られるが。

で、使える保存領域としてあるのが、PropertiesService。これを使えばユーザー名何かのちょっとしたものは保存できる。

developabout0309.blogspot.jp

で、このページに書いてあるように

  • getDocumentProperties()
  • getScriptProperties()
  • getUserProperties()

の3つを使い分けるらしい。

自分だけしか見ないし、1番データ漏洩が少なそうなUserProperiesを使いたかったのだが、何故かこれがスクリプト編集画面のファイル->プロパティから編集できなくて不便。

ググっても対処法は見つからず、ダメだよーって情報しか出てこない。それも3年前の。

old-horizon.hateblo.jp

しかしPropertiesService.getUserProperties()で取得できるユーザープロパティはスクリプトエディタのUIからは編集できない、一方でスクリプトプロパティは編集できるという仕様 

 

で、結局、getScriptProperties()を使うことにした。

ちなみに、プロパティに数字(整数)を保存すると浮動小数点つき(小数点以下.0が付く)になるので、それをそのまま取り出して文字列と結合すると.0が残ってしまう。整数と演算すると消える。

この辺はjavascript的に仕方ないのだろうがね。

 

しかしGoogle関連のサービスはほんと日本語の情報が少ない。ただで使えて便利なのに。