LANG SELRCT

コードを書く場所

2019年2月19日火曜日

スクリプトのプロパティのgetとsetに変数を渡したい


Google Apps Scriptの以下のプロパティの話です

ファイル > プロジェクトのプロパティ

以下のコード.gsではsetTokenの処理も書いていますが
ポイントはこの2つで、keyとvalueなどで値を渡して使い回せるようにしています。

function getProp(key) {
  return PropertiesService.getScriptProperties().getProperty(key);
}

function setProp(key, value) {
  PropertiesService.getScriptProperties().setProperty(key, value);
}



setFirstToken()を実行したらこうなる


setRefreshToken()を実行したらこうなる


というコードを書きました。

有効期限付きのaccess tokenを取得して書き込んで
その後refresh tokenを取得して更新する時に



コード.gs
function setFirstToken() {
  setToken('abc');
}

function setRefreshToken() {
  setToken('xyz');
} 

function setToken(value) {
  setProp('token', value);
  Logger.log(getProp('token'));
}

function getProp(key) {
  return PropertiesService.getScriptProperties().getProperty(key);
}

function setProp(key, value) {
  PropertiesService.getScriptProperties().setProperty(key, value);
}
意訳
この機能がやること
setTokenに'abc'を渡す


この機能がやること
setTokenに'xyz'を渡す


この機能がやること
setPropに'token'と、渡されたvalueを渡して
ログに、getPropに'token'を渡した結果を出す


この機能がやること
スクリプトのプロパティから、渡されたkeyの値を返す


この機能がやること
渡されたkeyとvalueでスクリプトのプロパティを更新する



参考

Class PropertiesService
https://developers.google.com/apps-script/reference/properties/properties-service