前提・実現したいこと
GASを使って、Googleフォームのコンテナバインドスクリプトを書いています。
社内の業務の依頼引受フォームを作っています。
添付の図のように、一つ目の質問が依頼を引き受ける人の名前、
二つ目が依頼を引き受ける人のメールアドレス、
三つ目以降は依頼内容としています。
「フォームの送信」をトリガーとして、
依頼を引き受ける人が、「依頼を受ける」を選択した場合のみ、その依頼について、
スプレッドシートの「依頼」という名前のシートの、
E列に入力されているGoogleドライブの共有URLを、
二つ目のメールアドレスに対して、メールの本文として送りたいと考えています。
なお、スプレッドシートは添付ファイルのように入力されています。
(つまり、フォームの依頼の表示順と、同じ順番で上から入力されている)
発生している問題・エラーメッセージ
メールを正常に送ることができません。
ご助言いただければ幸いです。
よろしくお願いいたします。
該当のソースコード
GAS
1function sendEmail(e){ 2 3 FormApp.getActiveForm(); 4 var itemResponses = e.response.getItemResponses(); 5 var result = []; 6 for (var i = 0; i < itemResponses.length; i++) { 7 var itemResponse = itemResponses[i]; 8 var question = itemResponse.getItem().getTitle(); 9 var answer = itemResponse.getResponse(); 10 result.push([question, answer]); 11 } 12 13 var url = "https://docs.google.com/〇〇〇〇〇〇"; 14 var spreadSheet = SpreadsheetApp.openByUrl(url); 15 var sheet = spreadSheet.getSheetByName("依頼") 16 var values = sheet.getDataRange().getValues(); 17 18 for(var j = 0 ; j < result.length ; j++){ 19 if(result[j][1] === "依頼を受ける"){ 20 var file = values[j][4]; 21 ; 22 } 23 24 var resipient = result[1][1]; 25 var subject = "関連資料をメールでお送りします"; 26 var body = file; 27 28 GmailApp.sendEmail(resipient,subject,body); 29 } 30}
試したこと
ひとまず、var resipient = "実在するメールアドレス" としてみたところ、
メールは送られてきます。(ただし、本文中にGoogleドライブの共有URLは送られてきません)
あなたの回答
tips
プレビュー