【GAS】ユーザープロパティは2種類ある!?あるいはdeprecatedになったUserPropertiesの代わりはない??
はじめに
普段GASでいろいろ作るんですが、スクリプトファイル横断して同じ値を使いたいときありますよね?
GitHubのIDとかAWSのアクセスキーとかとか。環境変数的な。
これUserPropertiesで実現できるんですが、現在は非推奨になっていて使えません。。どうすればいいですか?
おいおい、いまはPropertiesServiceってのがあって、getUserProperties()で使えるぜ! っていうそこのあなた!もう少々お付き合いください。
実はこれ別物なんです。
ユーザープロパティは2種類ある!?
スクリプトのメニューから、
ファイル→プロジェクトのプロパティ→「ユーザープロパティ」タブ
こちら、UserPropertiesでは取得できますが、PropertiesServiceでは利用できません。
Logger.log(UserProperties.getProperty('hoge')); // user_hoge Logger.log(PropertiesService.getUserProperties().getProperty('hoge')); // null
また、UserPropertiesは別スクリプトでも利用できますが、PropertiesService.getUserProperties()はこのスクリプト内のみとなっています。
名前は似てるっていうか同じなのに全くの別物!!
まとめ
ユーザープロパティには2種類ある。
UserProperties | PropertiesService.getUserProperties() | |
---|---|---|
エディタから編集 | できる | できない |
別スクリプトで参照 | できる | できない |
用途 | 開発者用の環境変数として | スクリプトの実行ユーザー毎の設定値として |
その他 | 非推奨 |
Stack Overflowでも代替はPropertiesServiceだぜって言われちゃってるし、
このプロパティが本当に非推奨になったのなら、画面からも消して欲しい。。
どなたか詳しい方いませんか??