前提・実現したいこと
googleフォームを使って、確認テストを作成しました。
正解率が7割以上で次のセクションに進めます。
フォームのURLはトリガーを設定し、回答が記録されるごとに自動送信をしたいです。
合格点に達しているときは次セクションのURLを、達していないときは当該セクションのURLを送信します。
発生している問題・エラーメッセージ
IFで分岐をさせずにメールを自動送信したときには問題なく遅れましたが、今回の実装をすると、スプレッドシートから回答を取得するところでエラー起きてしまいます。
TypeError: Cannot read property 'namedValues' of undefined(行 3、ファイル「コード」)
該当のソースコード
function onFormSubmit(e){
//回答を取得
var email = e.namedValues['メールアドレス'][0];
var score = e.namedValues['スコア'][0];
//件名
var subject = 'セクション1の回答を受け付けました';
//合格の場合の本文
var body1
='●●です。'+
'\n'+
'セクション1の回答を受け付けました。\n'+
'引き続き、セクション2の受講を下のリンクよりしてください。\n'+
'◆URL1◆'+
'\n'+
'期間内にセクション●までを受講完了させてください。\n';
//不合格の場合の本文
var body2
='●●です。'+
'\n'+
'セクション1の回答を受け付けました。\n'+
'合格点に達していません。再度、下のリンクよりセクション1の回答をしてください。\n'+
'◆URL2◆'+
'\n'+
'期間内にセクション●までを受講完了させてください。\n';
//送信
if(score>=20){
mailApp.sendEmail({
to:email,
subject:subject,
body:body1
});
}else{
mailApp.sendEmail({
to:email,
subject:subject,
body:body2
});
}
}
試したこと
最初はIF~elseで本文内容を分岐させていましたが、こちらもうまくいかず、このようにしてみました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。