利用ユーザによって表示されるデータを変えるようにしたけど
利用ユーザによって表示されるデータを変えるようにしたけど、ちゃんと動作してる。。。のか? という時に便利な開発Tipsです。
前提条件
AppSheetで利用ユーザによって表示データを変更する方法は、いくつかありますが、最初に検討すべき方法が「セキュリティ フィルタを使用してユーザーが自分のデータしか使用できないようにする」方法です。
今回もセキュリティフィルターを利用して、ユーザごとにデータの表示/非表示を制御していることが前提となります。
セキュリティフィルター(Security filters)
セキュリティフィルターを利用する前提は、以下の通りです。
簡単に言うと、表示するデータにメールアドレスの項目を持たせて、ログインユーザのメールアドレスと一致する項目だけを画面に表示する機能になります。
- ユーザーのログインを必須にする。ユーザーがログインすると、AppSheet でユーザーのメールアドレスが認識されます。このユーザーのメールアドレスを使用して、そのユーザーに表示するデータをフィルタできます。
- 各レコードに、レコード所有者を識別するフィールドを含めます。このフィールドには通常、所有者のメールアドレスが含まれています。テーブルに新しいレコードを追加するとき、フィールドの Initial Value プロパティに対して
USEREMAIL()
関数を使用し、ユーザーのメールアドレスで初期化できます。
また、セキュリティ フィルタを使えば、スケーリングによる性能向上の効果も期待できます。
確認方法
本題です。
先ほどのセキュリティフィルターを機能追加/機能変更した際、データの表示が意図した通りに実施できているか確認したくなりますが、いちいちログインから実施するのは面倒です。
安心して下さい。
Googleもそんな開発者の思いは百も承知で、ログインしなおさずとも、簡単に切り替える方法があります。
画面プレビューの下に「Preview app as」があり、この下に現在開発画面を開いているユーザのメールアドレスが表示されていると思います。
この「Apply」がグレーアウトしているので、非活性項目かなと思ってしまいますが、実は違います。
このメールアドレスを変更することで、利用ユーザを切り替えることが出来るのです(正確には、USERMAIL()で取得されるメールアドレスを変えることが出来ます。)
※USERMAIL()については「AppSheet 関数一覧>USEREMAIL()」をご参照ください。
これにより、表示されるデータが正しく変わっているかを確認することが出来ます。便利!
コメントを残す