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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- ポイントサービス・マイル E-TAXについて 2 2023/02/12 16:18
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- 確定申告 確定申告自体が初めてのE-TAXについて 4 2023/02/12 19:32
- イタリア語 イタリア語が得意な方に質問です。このイタリア語を音節分けしてほしいです。よろしくお願いします。 La 1 2022/05/31 17:38
- PHP sessioncookieをではなくcookieを使わなければならない理由について… 4 2022/11/07 13:01
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- その他(メールソフト・メールサービス) 大阪市プレミアム付き商品券のweb申し込みで楽天モバイルのEメールだと返信メールが届かない 2 2022/09/19 17:08
- 確定申告 e-taxで開業届を出す方法がわかりません 1 2022/06/01 19:00
- 確定申告 公金受取口座登録後、e-Taxで口座情報を入力する必要はありますか 2 2022/05/09 06:48
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelにて、ユーザーフォームで...
-
ユーザーフォームのテキストボ...
-
モーダルフォームとモードレス...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームを表示中にシ...
-
エクセルVBAのフォームを最...
-
テキストボックス入力データの...
-
Form_Load と Form_Activate の...
-
VBAでユーザーフォームを再表示...
-
[VB6] フォームを閉じる方法に...
-
Ctrl+F4を押してもフォームが...
-
複数モニタ使用時のフォームの...
-
VBA(エクセル)のユーザー...
-
フォームを最背面に設定したい...
-
Microsoft Forms とか、それに...
-
クリックイベントなのに、2回ク...
-
標準モジュールからフォームを...
-
VBA コンボボックスとテキスト...
-
Userformを閉じて開く時、一瞬...
-
ブックをCloseまたはQuitで閉じ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームのテキストボ...
-
クリックイベントなのに、2回ク...
-
MSGBOXのフォント大きさ変更
-
VBAでユーザーフォームを再表示...
-
Hideについて(.NET)
-
Form_Load と Form_Activate の...
-
モーダルフォームとモードレス...
-
コントロールの存在確認
-
ユーザーフォーム上に現在日時...
-
【VBAユーザーフォームで閉じる...
-
エクセルVBAのフォームを最...
-
ACCESSのフォーム、開くんです...
-
Microsoft Formsの「個人情報や...
-
VBA(エクセル)のユーザー...
-
フォームウィンドウを最前面に...
-
ユーザーフォームのラベルに時...
-
'ユーザーフォーム右上隅の[×...
-
Excelにて、ユーザーフォームで...
おすすめ情報