Googleフォームのスクリプトの新しいトリガー設定画面でトリガー設定すると、イベントがうまく渡らなくなりました。今までのスクリプトは使えなくなったのでしょうか?
Googleフォームのフォーム送信時にフォーム投稿内容を自動返信するようスクリプトを組み、今まで問題なく使っていたものを、コピーして新しいフォームを作ったところ、トリガー登録画面が新しくなっており、困っています。
(GsuiteDevelopperHub画面になります)
新しい画面で、一応、トリガー追加ダイアログで、以下のように設定してみました。
- 実行する関数を選択 「submitForm」
- 実行するデプロイを選択「Head」←変更できない
- イベントのソースを選択「フォームから」
- イベントの種類を選択 「フォーム送信時」
- エラー通知設定 「今すぐ通知を受け取る」
が、これで実行させると、以下エラーとなり、イベントが今までのようには渡されていないようです。
「TypeError: undefined のメソッド「getItemResponses」を呼び出せません。 at submitFormA(コード:2)」
以前のようにフォーム送信時のイベントを渡すようにトリガー設定をするにはどのようにしたよいか、ご存知でしたら、ぜひお教えください。よろしくお願いします。
スクリプトコードは次のようなものです。
function submitFormA(e){
var itemResponses = e.response.getItemResponses();
var message = '';
var username = '';
var mail = '';
for (var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
var question = itemResponse.getItem().getTitle();
var answer = itemResponse.getResponse();
message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n';
}
var address = 'xx@xxx.jp';
var title = 'タイトル';
var content = 'テスト完了を確認しました。\n\n' + message;
GmailApp.sendEmail(address, title, content);
}