GASでデータの保存方法の2つのやり方を備忘
どちらも文字列での保存になるけど、Javascriptなら文字列化とその復号は簡単なので問題ないかと。
#1.PropertiesService
リファレンス
DocumentとScriptとUserとあるけど、普段はScriptを使っている。
let scriptProperties = PropertiesService.getScriptProperties();
let props = scriptProperties. getProperty("property-key");
...
...
scriptProperties. setProperty("property-key",props);
あまり特別なことはない。
スクリプトプロパティにセットした値は、スクリプトエディターで確認できる。
永続的に使えるので、ソースコードやスプシに書かない設定等でつかっている。
#2.CacheService
リファレンス
こちらも、DocumentとScriptとUserとある。
ユーザー共通のキャッシュデータはScriptキャッシュ、ユーザー固有のキャッシュはUserキャッシュ、となるだろうか。(ScriptキャッシュでもUserごとにキーに付け加えればできちゃうけど)
let cache = CacheService.getScriptCache();
let cacheData = cache.get("cache-key");
...
...
cache.put("cache-key",cacheData,3600);
propertiesがgetProperty、setPropertyなのにcacheはget、put。
put時には、expirationInSecondsのオプションがあるので、何秒キャッシュするか設定する。
こちらは、かなり短期、少量のデータキャッシュとなるけど、他のシートのデータを一時的に保存したり、シートを扱ってるユーザーのデータなどをキャッシュするのにはよいのでは。
キーの長さ:250文字
データ:100kb
最大保存期間:21600秒(ただしキャッシュ溢れで削除の可能性あり)
リファレンスのソースにあるように、キャッシュにあったらキャッシュをかえし、なかったらデータを取りに行くようなコードがメインになると思います。
キャッシュデータを見る方法は自分でコードから取る以外なさそう。