質問: Session.getActiveUser().getEmail(); Logger.log(user); } ``` 色々試してみた結果、以下のような結果となりました。 | 実行契機 | オーナーが自分の場合 | オーナーが他者の場合 | | --- | --- | --- | | セル編集(トリガー実行) | 取得できる | ***取得できない*** | | スクリプトエディタでonEditを直接実行 | 取得できる | 取得できる | ※もしかしたら他に条件があるかもしれません。。。 知りたいことは以下の点です。 * オーナーが他者の場合でもユーザー情報を取得する方法があるか * Session.getActiveUser()で情報が取得できない条件について書かれているリファレンスなど 詳しい方いましたら是非教えて頂きたいです。よろしくお願いします。
回答: 詳しくはないですが近い運用をしているので、出来る限りのことを記します。 **前提** 私も `var email = Session.getActiveUser().getEmail();` というようにして、誰がその特定の行為を行ったのかを取得しています。(onEditではないのですが) その点でいえば、他者であっても情報を取得できています。 **Logger.log()について** Logger.log()の厳密なデータ保持についてわかっているわけではないので、明言はできないのですが・・・ リアルタイムで誰かが編集していることを確認したい、後で誰かが編集したことを知りたいという目的であれば、Logger.log()はおすすめできません。 (もちろん、テストだったり、手動実行して値を表示したい場合には使います。) じゃぁ、どうするといったところで、私は ・スプレッドシートにログが残るようにする ・メールやSlackなどに投げる といった運用にしています。