Apps Script公式リファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2019年3月1日金曜日

Google Apps Scriptでスクリプトのプロパティに配列を入れたい


スクリプトのプロパティに配列を入れようとしたら [Ljava.lang.Object;@69fc7b91 のようになり、JSON文字列にしてやるとうまくいったので備忘録として書き残しておきます。


やりたいこと

こういう風にスクリプトのプロパティに配列を入れたい



スクリプトのプロパティはここから開けます

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


JSON文字列にしないとこのように値が [Ljava.lang.Object;@69fc7b91 になる


以下のコード.gsのように
setする時は、JSON.stringify(array)
getする時は、JSON.parse(array)
にしてやるとうまくいきました。


コード.gs
function setArray() {
  var array = ['はれ', 'あめ', 'ゆき'];
  array = JSON.stringify(array);
  setProp('天気', array);
}

function getArray() {
  var key = '天気';
  var array = getProp(key);
  array = JSON.parse(array);
  Logger.log(array);
}

var scriptProp = PropertiesService.getScriptProperties();

function getProp(key) {
  return scriptProp.getProperty(key);
}

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

意訳
この機能がやること
配列を作る
JSON文字列に変換して
スクリプトのプロパティに入れます


この機能がやること
keyの値を決めて
スクリプトのプロパティから値を取得して
JSONをオブジェクトに変換して
ログに出す


スクリプトのプロパティを取得する

この機能がやること
スクリプトのプロパティにkeyを渡してその値を返す


この機能がやること
スクリプトのプロパティにkeyと値を渡して保存する



setArray()を実行してスクリプトのプロパティに配列を保存する
getArray()でその配列を取り出す



Latest post

Google Slidesで現在選択している表に値を入れたい4 - Insert values into the active table4

以下リンク先の2と3では、それぞれ行の追加と削除を行いました。 In the linked articles below, rows were added in example 2 and deleted in example 3. Google Slidesで現在選択している表...