この記事は3年以上前に書かれた記事で内容が古い可能性があります
GAS(Google Apps Script)の小ネタ〜変数
2019-06-30
GAS(Google Apps Script)のすごい小ネタ その3
変数を使いたいとき、特に、Secret Keyなど直接書きたくない奴は、「PropertiesService」を使う
function myFunction() { // script propaties var sProperties = PropertiesService.getScriptProperties(); // script propatiesをとってくる sProperties.setProperty('my_val_script', 'my user val yeah'); // script propatiesを設定する var scriptVal = sProperties.getProperties()['my_val_script']; // script propatiesを呼び出して変数「scriptVal」に格納 Logger.log(scriptVal); // script propatiesをログに出してみる // user propaties var uProperties = PropertiesService.getUserProperties(); // user propatiesをとってくる uProperties.setProperty('my_val_user', 'script val yeah'); // user propatiesを設定する var userVal = uProperties.getProperties()['my_val_user']; // user propatiesを呼び出して変数「userVal」に格納 Logger.log(userVal); // user propatiesをログに出してみる }
実行してログを見ると無事に格納されている
[19-06-30 15:28:36:477 JST] my user val yeah [19-06-30 15:28:36:557 JST] script val yeah
変数の設定はUIからも可能
「File」>「Project propaties」
その名の通り、User propatiesはユーザーごとの変数で、Script propatiesはスクリプトごとの変数
Secret keyとかを格納するならUser propatiesに入れるのが良さそう
前は「UserPropaties」を使っていたんだけど、使おうとすると以下のようなエラーが出る
もうじき使えなくなるそうなので、代替の「PropertiesService」を使った方が無難
UserProperties API is deprecated. The API has been marked as deprecated which means that the feature should be avoided and may be removed in the future. Consider using an alternative solution.
「PropertiesService」の詳細の使い方は以下
Class PropertiesService
設定されていないと、「Undefined」が返ってくる
わかりやすい