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ドキュメントに見出しを追加したい

今回の例では、ドキュメントの末尾に「見出しD」 を追加します。 見出しA, B, C, Dのスタイルは、見出し3 ( HEADING3 ) に設定しています。  下記Code.gsの  GOOGLE_DOCUMENT_URL を設定して  addHeadingToEnd()  を...