
googleappsのフォームのsubmitのイベント処理に
スクリプトを書いていてそこで
ログインユーザのe-mailアドレスを取得したいのです
var to = Session.getActiveUser.getEmail()
これでテストしてみたところ自分のe-mailアドレスが取得できたので
できたと思ってほかの人にフォーム入力をしてもらったところ
取得した値は私のe-mailアドレスでした・・・・
これってスクリプトを作成者の情報を取得する!?
ためしにgetEffectiveUser メソッド,getUserメソッドも試してみましたが
同じ結果です
googleappsフォームを入力した人のe-mailを取得するスクリプトはどのようにしたらいいでしょうか?
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
フォームの設定でログインを強制しても動作は同じですか? まずはそれを確認して下さい。
フォームは、他のスプレッドシートやドキュメントなどのように利用を許可された人間だけがログインして使うのでなく、誰でもアクセスできるので、そのままではActiveUserがとれないのかも知れません。ログインを強制するよう設定してください。No.1
- 回答日時:
>取得した値は私のe-mailアドレスでした・・・・
これって、どういう形で確認しています? 例えば、Loggerでログ出力させているとかですか。だとすると、例えばスクリプトが動作しておらず、最後に実行した結果が残っているということも考えられますが……。
ユーザーのログイン情報の取得は、基本的にSession.getActiveUser.getEmailでいいはずです。getEffectiveUserは確かdeprectedなので使わないで下さい。
これで取れるはずですが、しかし当たり前ですがログインできてないとスクリプトは正常に動きません。Google Appsユーザーなら、一番上の「フォームの設定」のところに、「このフォームを表示する際に○○へのログインを求める」というチェックがありますので、これをONにしてください。これで、フォームにアクセスすると強制的にログインされます。結果、Session.getActiveUser.getEmailで正常にメールアドレスが取れるようになるはずです。
お返事ありがとうございます
値の確認は自分に向けて取得した値をメールしています
MailApp.sendEmail("自分のメールアドレス", "test", Session.getActiveUser().getEmail());
自分でフォームをサブミットすれば当然メールの本文には自分のメールアドレスがセットされていますが
他の人がフォームを開いてサブミットしてもその人のメールアドレスではなく自分のメールアドレスが
セットされています
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelにて、ユーザーフォームで...
-
クリックイベントなのに、2回ク...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームを表示中にシ...
-
オブジェクト(コントロール)...
-
ContextMenuStripに追加したア...
-
vb2010でフォーム非表示で処理...
-
ACCESSのフォーム、開くんです...
-
モーダルフォームとモードレス...
-
userformからエクセルを呼び出...
-
アニメGifが止まってしまう?
-
ユーザーフォームのラベルに時...
-
パソコンの画面に合わせてユー...
-
Hideについて(.NET)
-
ユーザフォームの印刷
-
ユーザーフォーム上に現在日時...
-
ユーザーフォームの呼び出し元
-
VBA(エクセル)のユーザー...
-
コントロールの存在確認
-
フォームを画面のど真ん中に表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
クリックイベントなのに、2回ク...
-
Microsoft Formsの「個人情報や...
-
Form_Load と Form_Activate の...
-
ユーザーフォーム上に現在日時...
-
VB.NETでフォームロード中のエ...
-
Hideについて(.NET)
-
VBAでユーザーフォームを再表示...
-
Excelにて、ユーザーフォームで...
-
VBAのテキストフォームの折り返...
-
モーダルフォームとモードレス...
-
ユーザーフォームのラベルに時...
-
VBA(エクセル)のユーザー...
-
コントロールの存在確認
-
ACCESSのフォーム、開くんです...
-
エクセルVBAのフォームを最...
-
Accessで、一つのフォーム画面...
-
【VBAユーザーフォームで閉じる...
-
パソコンの画面に合わせてユー...
おすすめ情報