次回スクリプトを実行した時にそれを読み込むということをやってみます
The code below means "Use PropertiesService to store data and load them at next execution".
データをkey:valueのセットで保存する
setProperties({key: value})
次回読み込む時にkeyを指定してvalueを取得する
getProperty(key)
データを削除する場合は
deleteAllProperties()
以下のコード.gsは
スクリプトを実行する度にCountの数字が1増えていくコードの例です
まずset_UserProperties()を実行して初期データを保存する
get_UserProperties()を実行して保存されているデータを取得する
そしてnumに+1して保存してログに出す
ということをやっています
get_UserProperties()を実行する度にnumが1増えていきます
コード.gs
var UserProperties = PropertiesService.getUserProperties(); function set_UserProperties() { var num = UserProperties.getProperty('Count'); if (num == null) { var num = 0; } UserProperties.setProperties({ 'Text': 'ユーザプロパティ', 'Count': num }); } function get_UserProperties() { var num = UserProperties.getProperty('Count'); var text = UserProperties.getProperty('Text'); num = parseInt(num) + 1; UserProperties.setProperties({ 'Count': num }); Logger.log([text, num]); } function delete_properties() { UserProperties.deleteAllProperties(); } |
意訳.gsUserPropertiesを取得する この処理は以下を実行する UserPropertiesからCountの値を取得してnumに入れる もしnumがnullなら(初回は何も入っていないのでnullになる) numに0を入れる UserPropertiesに以下を保存する Textに'ユーザプロパティ'というテキストを入れる(任意の文字列) Countにnumを入れる(初回の場合は上のif文で0が入り、次回以降はget_UserProperties()で+1された値が入る) この処理は以下を実行する UserPropertiesからCountの値を取得してnumに入れる UserPropertiesからTextの値を取得してtextに入れる num に1を足す UserPropertiesに以下を保存する Countにnumを入れる ログにtextとnumを出す この処理は以下を実行する UserPropertiesに保存されているデータを削除する |
実行手順
1. set_UserProperties()を実行します
run set_UserProperties()
Textにはユーザプロパティという文字列が保存されます
初回はnumがnullなのでCountには0が保存されます
2. get_UserProperties()を実行します
run get_UserProperties()
前回setされたnumに+1して保存します
ログにtextとnumが出力されます
実行結果:[ユーザープロパティ, 1.0]
run get_UserProperties() again
numに+1して保存されます
ログにtextとnumが出力されます
実行結果:[ユーザープロパティ, 2.0]
run delete_properties() to delete all properties
ScriptPropertiesにtokenを保存して読み込む場合はこんな感じで
コード.gsfunction get_token() { return PropertiesService.getScriptProperties().getProperty('token') } |
参考サイト
https://developers.google.com/apps-script/reference/properties/