Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What is going on with this article?
@nazomikan

GASのPropertiesServiceのスコープ

More than 3 years have passed since last update.

この話は一体

この記事はGASのPropertiesServiceのスコープを実際にアドオンつくって検証してみた話です。

前提

PropertiesServiceはGAS内のlocalstorage的なデータストアのことです。
このストレージタイプは3種類(Document/Script/User)あってそれぞれドキュメントにはこう書かれてます。

ストレージタイプ 説明
DocumentPropeties Gets a property store (for this script only) that all users can access within the open document, spreadsheet, or form.
ScriptPropeties Gets a property store that all users can access, but only within this script.
UserProperties Gets a property store that only the current user can access, and only within this script.

実験手順

A-spreadsheetとB-spreadsheetのふたつのシートを使ってアドオンでPropertiesService使って保持したデータの表示可否をチェックした。
また、アドオン化したscript idが配布後のユーザー間でも同じかどうかチェックした。

結果

script idについて

script idはAさんとBさんにアドオン配布後に確認したところ、両方で同じIDを示していたため、両者のscriptは同じものと扱われる

propertiesのスコープについて

AさんがA-spreadsheetのそれぞれのPropetiesに追加して、それぞれをアドオンで確認したところ

追加したところ AさんがA-spreadsheet見た時 AさんがB-spreadsheet見た時 BさんがA-spreadsheet見た時 BさんがB-spreadsheet見た時
DocumentPropeties 見える 見えない 見える 見えない
ScriptPropeties 見える 見える 見える 見える
UserProperties 見える 見える 見えない 見えない

まとめ

  • scriptをアドオン化して配布した場合でもscriptはすべて同一のものとして扱われ、ユーザー間でScriptPropertiesを共有することになるのでアドオン設計時には注意が必要。
  • DocumentPropertiesはユーザーに依存しない。
  • UserPropertiesはドキュメントに依存しない。

現場からは以上です。

6
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
lifull
日本最大級の不動産・住宅情報サイト「LIFULL HOME'S」を始め、人々の生活に寄り添う様々な情報サービス事業を展開しています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
6
Help us understand the problem. What is going on with this article?