質問: google formを使ってメールアドレスを取得したい。 しかし「設定」→「全般」→「メールアドレスを収集する」だと、 いちいちアドレスを入力しないといけないので避けたい。 そこで、回答時はgoogleへのログインを必須とし、 ログイン時の情報からメールアドレス(ログインID)を取得する方法を考えた。 しかし、自分のアドレスは取得できるものの(※)、 自分以外のユーザのアドレスは取得できない。 自分以外のユーザのアドレスを取得する方法を教えて欲しい ※以下のスクリプトでトリガー登録すれば自分のアドレスは取得可能。 ``` function submitForm(e){ Logger.log(Session.getEffectiveUser().getEmail()); } ```
回答: 「表示」→「マニフェストファイルを表示」で下記を記載していますか? ``` { ... "oauthScopes": [ "https://www.googleapis.com/auth/userinfo.email" ], ... } ``` `getEffectiveUser()` を利用するには認可が必要で、スコープを追加する必要があるようです。 getEffectiveUser()のリファレンス) scopeの追加の方法