google formを使ってメールアドレスを取得したい。  
しかし「設定」→「全般」→「メールアドレスを収集する」だと、  
いちいちアドレスを入力しないといけないので避けたい。

そこで、回答時はgoogleへのログインを必須とし、  
ログイン時の情報からメールアドレス（ログインID）を取得する方法を考えた。

しかし、自分のアドレスは取得できるものの（※）、  
自分以外のユーザのアドレスは取得できない。  
自分以外のユーザのアドレスを取得する方法を教えて欲しい

※以下のスクリプトでトリガー登録すれば自分のアドレスは取得可能。

```

    function submitForm(e){
        Logger.log(Session.getEffectiveUser().getEmail());
    }
    
```
CC BY-SA 3.0
2018-03-17T08:34:03.953
42458
2018-08-29T13:54:20.380
2018-03-17T09:16:28.410
19110
27778
question
google-apps-script
メールアドレスを取得したい
「表示」→「マニフェストファイルを表示」で下記を記載していますか？

```

    {
      ...
      "oauthScopes": [
        "https://www.googleapis.com/auth/userinfo.email"
      ],
      ...
    }
    
```

`getEffectiveUser()` を利用するには認可が必要で、スコープを追加する必要があるようです。

[getEffectiveUser()のリファレンス](https://developers.google.com/apps-
script/reference/base/session#getEffectiveUser\(\))  
[scopeの追加の方法](https://developers.google.com/apps-
script/concepts/scopes#setting_explicit_scopes)
CC BY-SA 4.0
2018-08-29T13:54:20.380
47920
2018-08-29T13:54:20.380
29914
42458
answer