【GAS】Googleフォーム回答後、承認者に送られる「承認用」と「否認用」のURLをクリックするとエラー

GAS

1function autoSend() { 2 var sheet = SpreadsheetApp.getActiveSheet(); 3 var row = sheet.getLastRow(); 4 var url 5 = "https://script.google.com/a/macros/●●●●●/exec" //Released Web Application 6 + `?row=${row}&answer=`; 7 8 var timestamp = sheet.getRange(row, 1).getValue(); 9 var mail = sheet.getRange(row, 2).getValue(); 10 var name = sheet.getRange(row, 3).getValue(); 11 var leavedate = sheet.getRange(row, 4).getValue(); 12 var returndate = sheet.getRange(row, 5).getValue(); 13 var days = sheet.getRange(row, 6).getValue(); 14 var ampmall = sheet.getRange(row, 7).getValue(); 15 var hour = sheet.getRange(row, 8).getValue(); 16 var type = sheet.getRange(row, 9).getValue(); 17 var reason = sheet.getRange(row, 10).getValue(); 18 var document = sheet.getRange(row, 11).getValue(); 19 20 sheet.getRange(row,13).setValue("confirming_กำลังยืนยัน"); 21 22 // Specify date format 23 timestamp = Utilities.formatDate(timestamp, "GMT+7", 'E MMM dd yyyy HH:mm'); 24 leavedate = Utilities.formatDate(leavedate, "GMT+7", 'E MMM dd yyyy'); 25 returndate = Utilities.formatDate(returndate, "GMT+7", 'E MMM dd yyyy'); 26 // Display formatted date and time in run log 27 console.log(timestamp) 28 29 var Recipient = sheet.getRange(row, 12).getValue();//destination 30 var title = "[Request for approval] Request for leave";//emailtitle 31 var options = { 32 from:"●●●●●@●●●●●.com", 33 cc:mail 34 };//sender and cc 35 36 // Content of Email 37 var mail_body 38 = "Hello,\n" 39 + "You have received a new request with the following information.\n" 40 + "Please approve or deny this request.\n" 41 + "คุณได้รับคำขอใหม่พร้อมข้อมูลต่อไปนี้\n" 42 + "โปรดอนุมัติหรือปฏิเสธคำขอนี้\n\n" 43 + "If you approve, please click the URL below.(หากคุณอนุมัติ โปรดคลิก URL ด้านล่าง)\n" 44 + url + "ok\n" 45 + "If you deny, please click the URL below.(หากคุณปฏิเสธ โปรดคลิก URL ด้านล่าง)\n" 46 + url + "ng\n" 47 + "--------------------------------------\n" 48 + "Date of request\n" 49 + timestamp + "\n\n" 50 + "1) Full Name (ชื่อ-สกุล)\n" 51 + name + "\n\n" 52 + "2) Leave date (วันที่ต้องการลา)\n" 53 + leavedate + "\n\n" 54 + "3) Return date (วันที่กลับเข้าทำงาน)\n" 55 + returndate + "\n\n" 56 + "4) Number of leave day(s) (จำนวนวันที่ลา)\n" 57 + days + "\n\n" 58 + "5) AM/ PM/ All day/ Hour (ช่วงเวลาที่ลา: ทั้งวัน/ เช้า/ บ่าย/ ชั่วโมง)\n" 59 + ampmall + "\n\n" 60 + "6) The actual time for Hour leave (เวลาจริงสำหรับการออกจากชั่วโมง)\n" 61 + hour + "\n\n" 62 + "7) Type of leave (ประเภทการลา)\n" 63 + type + "\n\n" 64 + "8) Reason for leave (เหตุผลการลา)\n" 65 + reason + "\n\n" 66 + "9) Documents for evidence (เอกสารหลักฐาน)\n" 67 + document + "\n\n" 68 + "---------------------------------------\n\n" 69 + "Regards,\n" 70 + "HR Department"; 71 72 GmailApp.sendEmail(Recipient,title,mail_body,options);//sendmail 73} 74 75function doGet(e) { 76 let spreadSheetId = "●●●●●"; 77 let spreadsheet = SpreadsheetApp.openById(spreadSheetId); 78 let sheet = spreadsheet.getSheets()[0]; 79 let row = e.parameter.row; 80 let answer = e.parameter.answer; 81 let result = { 82 ok: "approved_ที่ได้รับการอนุมัติ ", 83 ng: "denied_ปฏิเสธ" 84 }; 85 86sheet.getRange(row, 13).setValue(result[answer]); 87 88let html = "<h1>${result[answer]}</h1>"; 89 90var timestamp = sheet.getRange(row, 1).getValue(); 91var name = sheet.getRange(row, 3).getValue(); 92var leavedate = sheet.getRange(row, 4).getValue(); 93var returndate = sheet.getRange(row, 5).getValue(); 94var days = sheet.getRange(row, 6).getValue(); 95var ampmall = sheet.getRange(row, 7).getValue(); 96var hour = sheet.getRange(row, 8).getValue(); 97var type = sheet.getRange(row, 9).getValue(); 98var reason = sheet.getRange(row, 10).getValue(); 99var document = sheet.getRange(row, 11).getValue(); 100var approver = sheet.getRange(row, 12).getValue(); 101 102let recipient = sheet.getRange(row, 2).getValue();//destination 103let subject = "Request for leave $[result[answer]]"; 104let options = { 105 from:"●●●●●@●●●●●.com", 106 cc:approver 107} 108 109let mail_body 110= "Hello,\n" 111+ "Your request for leave has been $[result[answer]] with the following information.\n" 112+ "คำขอลาของคุณ $[result[answer]]โดยมีข้อมูลดังต่อไปนี้\n" 113+ "--------------------------------------\n" 114+ "Date of request (วันที่ขอ)\n" 115+ timestamp + "\n\n" 116+ "1) Full Name (ชื่อ-สกุล)\n" 117+ name + "\n\n" 118+ "2) Leave date (วันที่ต้องการลา)\n" 119+ leavedate + "\n\n" 120+ "3) Return date (วันที่กลับเข้าทำงาน)\n" 121+ returndate + "\n\n" 122+ "4) Number of leave day(s) (จำนวนวันที่ลา)\n" 123+ days + "\n\n" 124+ "5) AM/ PM/ All day/ Hour (ช่วงเวลาที่ลา: ทั้งวัน/ เช้า/ บ่าย/ ชั่วโมง)\n" 125+ ampmall + "\n\n" 126+ "6) The actual time for Hour leave (เวลาจริงสำหรับการออกจากชั่วโมง)\n" 127+ hour + "\n\n" 128+ "7) Type of leave (ประเภทการลา)\n" 129+ type + "\n\n" 130+ "8) Reason for leave (เหตุผลการลา)\n" 131+ reason + "\n\n" 132+ "9) Documents for evidence (เอกสารหลักฐาน)\n" 133+ document + "\n\n" 134+ "---------------------------------------\n\n" 135+ "Regards,\n" 136+ "HR Department"; 137 138GmailApp.sendEmail(recipient,subject,mail_body,options) 139 140return HtmlService.createHtmlOutput(html); 141} 142

コメントを投稿

0 コメント