googleappsのフォームのsubmitのイベント処理に
スクリプトを書いていてそこで
ログインユーザのe-mailアドレスを取得したいのです


var to = Session.getActiveUser.getEmail()

これでテストしてみたところ自分のe-mailアドレスが取得できたので
できたと思ってほかの人にフォーム入力をしてもらったところ
取得した値は私のe-mailアドレスでした・・・・
これってスクリプトを作成者の情報を取得する!?


ためしにgetEffectiveUser メソッド,getUserメソッドも試してみましたが
同じ結果です

googleappsフォームを入力した人のe-mailを取得するスクリプトはどのようにしたらいいでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

フォームの設定でログインを強制しても動作は同じですか? まずはそれを確認して下さい。

フォームは、他のスプレッドシートやドキュメントなどのように利用を許可された人間だけがログインして使うのでなく、誰でもアクセスできるので、そのままではActiveUserがとれないのかも知れません。ログインを強制するよう設定してください。
    • good
    • 0
この回答へのお礼

フォームの設定でログインを強制しても同じ動作でした

お礼日時:2014/06/21 05:56

>取得した値は私のe-mailアドレスでした・・・・



これって、どういう形で確認しています? 例えば、Loggerでログ出力させているとかですか。だとすると、例えばスクリプトが動作しておらず、最後に実行した結果が残っているということも考えられますが……。

ユーザーのログイン情報の取得は、基本的にSession.getActiveUser.getEmailでいいはずです。getEffectiveUserは確かdeprectedなので使わないで下さい。

これで取れるはずですが、しかし当たり前ですがログインできてないとスクリプトは正常に動きません。Google Appsユーザーなら、一番上の「フォームの設定」のところに、「このフォームを表示する際に○○へのログインを求める」というチェックがありますので、これをONにしてください。これで、フォームにアクセスすると強制的にログインされます。結果、Session.getActiveUser.getEmailで正常にメールアドレスが取れるようになるはずです。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます

値の確認は自分に向けて取得した値をメールしています
MailApp.sendEmail("自分のメールアドレス", "test", Session.getActiveUser().getEmail());


自分でフォームをサブミットすれば当然メールの本文には自分のメールアドレスがセットされていますが
他の人がフォームを開いてサブミットしてもその人のメールアドレスではなく自分のメールアドレスが
セットされています

お礼日時:2014/06/19 21:34

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qフォーム御礼とは何ですか?

こんにちは。
あるブログで「フォーム御礼」という言葉を見かけましたが、どういう意味でしょうか?教えてください。

Aベストアンサー

そのブログサイトに設置されているメールフォームなどから
送られてきたブログ閲覧者からのメッセージに対する
ブログ管理者のお礼ではないでしょうか。

QエクセルVBA、DOSコマンドでOSログインユーザを取得

質問させていただきます。

エクセルVBA、DOSコマンドで現在ログインしている
OSのユーザを取得する方法をご存知の方いらっしゃい
ましたらぜひ教えてください。

よろしくお願い致します。

Aベストアンサー

NT4、2000、XP、Windwos Server限定です

DOSコマンド
set USERNAME


VBAならWSHを使用

Set WshNetwork = WScript.CreateObject("WScript.Network")
MsgBox "User Name = " & WshNetwork.UserName

Q“フォーム”とは何でしょうか。

“フォーム”というインターネット関連の言葉を最近耳にいたします。

検索を試みましたが、しっくりと理解できません。

特徴を教えていただけないでしょうか。
何ができるのでしょうか。その例を教えていただきたく願います。

Aベストアンサー

「フォーム」とは、データを送信するための窓といったらいいでしょうか。gooでも、検索するときに検索キーワードを入力するボックスがありますよね。それやチェックボックスなんかを総称して「フォーム」と呼びます。

「フォーム」を使えば、ユーザーが任意に選んだ情報をサーバーに送信できるという特徴がありますね。(つまり選択肢のなかから選択といったことが可能になる)

Qユーザコントロールのイベント取得について(C#)

環境:Visual Studio 2005 C# Windows Application
フォームに自作のユーザコントロールを貼り付けてそのイベントを取得する勉強をしているものです。

フォームでのユーザコントロールイベントを取得して処理をする方法が分かりません。

状況
ユーザコントロールにはテキストボックスを追加しています。
また、フォームにそのユーザコントロールを追加しています。

確認したいことは、ユーザコントロールのテキストボックスになにか値を入力したタイミングでチェンジイベントをフォーム側で察知し、処理をするというものです。

どなたか、要点だけでもいいので教えていただけないでしょうか?

宜しくお願いいたします。

Aベストアンサー

外部用のdelegateとコントロールで発生するイベント、内部コントロールで発生するイベントの関連付けを行いましょう

コントロール側のソースのclass定義の外で

  public delegate void ChangeEventHandler(object sender, EventArgs e);
といったデリゲートを設置します

コントロールのクラス定義の中で
// 外部で使うイベント名を定義 ... Changedを使用
public event ChangeEventHander Changed;
// 内部で発生したイベントを外部に知らせる
protected void OnChange( EventArgs e )
{
  // 外部のイベントハンドラが接続されているなら
  if ( Changed != null ) {
    Changed( this, e )
  }
}

private textBox1_TextChanged(object sender, EventArgs e)
{
  // 内部のイベントハンドラを呼び出す
  OnChaned(e);
}

といった記述になります

利用する側では
デザイナでコントロールを選択してプロパティウィンドウをイベントタブに切り替えて『Changed』ハンドラを追加するか

コードで
private void OnChanged(object s, EventArgs e)
{
  MessgeBox.Show("sampel");
}

private void Form_Load(object sender, EventArgs e)
{
  // コントロールのChangedイベントハンドラの設定
  UserControl1.Changed += new ChangeEventHandler( OnChanged )
}
といった具合にします

外部用のdelegateとコントロールで発生するイベント、内部コントロールで発生するイベントの関連付けを行いましょう

コントロール側のソースのclass定義の外で

  public delegate void ChangeEventHandler(object sender, EventArgs e);
といったデリゲートを設置します

コントロールのクラス定義の中で
// 外部で使うイベント名を定義 ... Changedを使用
public event ChangeEventHander Changed;
// 内部で発生したイベントを外部に知らせる
protected void OnChange( EventArgs e )
{
  /...続きを読む

Qメールフォームのソースにある「id="sen"」とは何?

人にもらったメールフォームをカスタマイズしてフォームを作っています。一行のテキスト入力フィールドのソースが以下のようになっています。
<INPUT type="text" size="50" maxlength="50" name="mail1" id="sen">
フィールドは複数あるのですが、どれも「id="sen"」がついていて、これが何を規定しているものかわかりません。html制作はホームページビルダーを使いましたがそのような設定項目はなく、Web制作の本をみても載っていません。なくてもいいものなのか、設定が必要なものなのか、わかる方、教えて下さい。
(私はhtmlを作成し、あとはプログラマに修正してもらうことになっているのですが、そのプログラマの方もよくわからないようです。)

Aベストアンサー

idはスタイルシートやJavaScript、DynamicHtmlで使用される要素です。
そういった類のものがソース内になければ、idは消去しても問題ないはずです。

参考URL:http://www.tohoho-web.com/html/attr/id.htm

QUSBメモリ内のフォルダ名をログインユーザ名に書き換える

USBメモリにあるフォルダ名をログインユーザ名に書き換えるバッチファイルの作成に困っております。
現在、仕事でSleipnir1.66をUSBメモリに入れて持ち歩き、出先のPCと会社のPC、そして自宅のPCと三箇所でそのブラウザを使う事があります。
問題なのは、「USBメモリのドライブ:\Sleipnir\user\USERNAME」のドライブ名とUSERNAME部分です。
Sleipnirの環境設定がログインユーザ名ごとにフォルダが作成されそこに保存されるので、USBメモリを挿すPCが変わると当然ながらユーザ名が変わってしまいます。
今までは、手動でユーザ名を調べてそのユーザ名に書き換えていましたが、それをBATファイルで自動化できないかと考えました。

ですが、DOSが良く分かりません。
接続するPCによっては、USBメモリのドライブも変わりますし、ユーザ名を%USERNAME%で参照できるらしい事、RENでフォルダ名を変えられる事、など断片的に情報は集まりましたが、どのように処理を書けば良いのか分かりません。
やりたい事を以下に記します。(BATファイルはUSBメモリ内にあるとして)

1.USBメモリのドライブを調べる
2.ログインユーザ名を調べる
3.「1」で調べた結果:\Sleipnir\user\「2」で調べたユーザ名 に書き換えたい。

厚かましいとは思いますが、どなたか希望に沿うBATファイルを作成して頂けませんでしょうか。

説明下手ですが補足要求ございましたら仰って下さい。

USBメモリにあるフォルダ名をログインユーザ名に書き換えるバッチファイルの作成に困っております。
現在、仕事でSleipnir1.66をUSBメモリに入れて持ち歩き、出先のPCと会社のPC、そして自宅のPCと三箇所でそのブラウザを使う事があります。
問題なのは、「USBメモリのドライブ:\Sleipnir\user\USERNAME」のドライブ名とUSERNAME部分です。
Sleipnirの環境設定がログインユーザ名ごとにフォルダが作成されそこに保存されるので、USBメモリを挿すPCが変わると当然ながらユーザ名が変わってしまいます。
今まで...続きを読む

Aベストアンサー

USBメモリのルート(たとえばE:\など)にバッチを置くこととします。
また、「USBメモリのドライブ:\Sleipnir\user\USERNAME」には1つのフォルダしかないものとして、そのフォルダを書き換えます。
最後の行はおまけで、Sleipnir.exeを呼び出していますが不要なら抜いてもらってもいいです。

:----------------------------------chguser.bat
echo off
for /D %%d in (%~d0\Sleipnir\user\*) do ren %%d %USERNAME%
start %~d0\Sleipnir\Sleipnir.exe

Q質問フォームからの情報とは

よくホームページなどで、
「ご意見・ご感想はコチラ」のような入力するところがありますが、
(アドレスへ送るのではなく、入力フォームです)
あれは送り元であるこちらの情報、
例えばPCやケータイの何らかの情報も自動的に送られるものなのでしょうか?

同じPCから二度送れば、同じ情報が出て発送者が分かったりするものでしょうか?

Aベストアンサー

そのフォームサービスによって違うと思いますが、IPとHostが分かってしまうものがあります。
そういったものだと同じPC・ケータイからの発信なら分かってしまうでしょう。

QTwitterAPI OAuthでログインした後、ログインしたユーザー

TwitterAPI OAuthでログインした後、ログインしたユーザー名を知るには?

VC#2008でOAuthログイン後に投稿やフォローなどの処理が正常にできています。

ただ、【ログインした本人】のIDやスクリーン名をどう取得して良いのかわかりません。

users/show で詳細情報がわかりますが、idもscreen_nameも判らないので、調べられません。

IDとパスワードをクライアントアプリで使わないOAuthだから…。
とも思っていたのですが、WEB上のサービスではOAuthでログイン後に自分の情報が表示されているものもあります。

ということは調べられるはずなのですが、方法が判らずに悩んでいます。

OAuthログイン状態で、ログイン本人の情報を知る方法を教えてください。

Aベストアンサー

account/verify_credentialsで取得できます。

WIKI: Twitter API Wiki / Twitter REST API Method: account verify_credentials
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-account%C2%A0verify_credentials

QGV-RX26T256HのPCBフォームとは?

http://www.links.co.jp/html/press2/gigabyte_gv-rx26t256h.html
今度、上記サイトのボードを買おうと思っているのですが、PCBフォームの意味が分かりません。
私のPCはマイクロATXなので、もしかしたら使えないのでしょうか?
スペックは
M2A-Vm
AMD DC 5000+
CFD W2U800CQ-1GLZJ PC2-6400 2G
DVD ASUS DRW-2014L1T B BULK
HDD HITATHI GST 160G
M-60BK (ブラック・電源なし)
ZUMAX 400W

宜しくお願いします。

Aベストアンサー

PCBフォームはATX、PCBサイズは175mm×111mm
ざんねんながら ATX仕様ですが PCはマイクロATX無理かと思いますが
上は高さ と 長さ表示です。
ケースによるかな
ついでに言っときますがASUSU とGIGABYTE 相性悪いよ
同メーカー選んだ方が正解ですが

Qログインフォームの構築について

現在、ログインフォームページをプライベートで構築していようとしています。実際にwebに上げて運営する予定です。
環境として、WindowsXP、テスト用にFirefox
言語はHTMLの他にjavascript、DHTML、CGIとしてPerlを使用します。
ログイン情報はテキストファイルに保存し、ログインする際はテキストファイルから読み込んで情報を出力する予定です。

HTMLレベルの話は問題無いのですが、javascriptをjsファイルに記述し、そのまま埋め込んでいいのか迷っております。
簡単にjsは参照出来てしまえますし、いっそCGI内に全てのjavascriptを記述しようと考えているのですが、実際にHPを運営されている方はどのように構築されておられるんでしょうか?

社内用のシステムの改修などは行ったことはあるのですが、それらはそのままhtmlファイルにずらずらとjavascriptのコードが記述してあったので、実際にwebに上げて不特定のユーザーに利用してもらうHPとは勝手が違うと思い、質問として上げさせて頂きました。

ご存知の方、経験者の方、お時間がありましたら宜しくお願い致します。

現在、ログインフォームページをプライベートで構築していようとしています。実際にwebに上げて運営する予定です。
環境として、WindowsXP、テスト用にFirefox
言語はHTMLの他にjavascript、DHTML、CGIとしてPerlを使用します。
ログイン情報はテキストファイルに保存し、ログインする際はテキストファイルから読み込んで情報を出力する予定です。

HTMLレベルの話は問題無いのですが、javascriptをjsファイルに記述し、そのまま埋め込んでいいのか迷っております。
簡単にjsは参照出来てしまえますし、いっ...続きを読む

Aベストアンサー

> チェックは基本、サーバ側で行う予定です。ただ、submitは例えば「登録」ボタンを押下時にonClickでjavascriptを経由して submitする予定です。ですので、javascriptをユーザ側が切られている状態ではsubmit出来ないように、と考えております。

チェックはサーバ側で行うのであれば良いと思います。ただ一点気になるところがあります。悪意のあるユーザーはフォームを解析して、用意されたフォームは使わずに、httpでrequestを送ってきますので、その点は留意されておくのが良いと思います。

> ですが、今回javascriptのメインでの仕事はダイナミックにwebページを変動させることにあります。
> 例えばコンボボックスを変動した場合、別の箇所の選択条件の変動、または計算、または別の箇所へ選択した内容の印字など。これらの処理がメインとなる予定です。

本当に秘密にしなければならないようなことでなければjavascriptにしてやる事は問題ないと思います。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング