gpt4 book ai didi

javascript - 谷歌脚本电子邮件表单接受/拒绝

转载 作者:行者123 更新时间:2023-11-28 07:33:28 26 4
gpt4 key购买 nike

我编写了一些宏代码,根据表单提交向经理发送电子邮件(用于费用/审批流程),这是我使用谷歌表单/电子表格的第一个项目,所以也许我可能会错过一些简单的东西,但我为此浏览了 2 个教程,我的代码与重要的部分相匹配。

第一部分“SendEmail”运行良好,可以通过电子邮件向经理提供做出决定所需的一些列。以及 2 个用于批准或拒绝的链接。这些链接是使用我发布代码时生成的 URL 并附加approval=true 和提交表单请求者的电子邮件来构建的。

下一部分 doGet(e) 应该在单击经理电子邮件中的链接时触发,然后生成一封电子邮件发送给请求者,但是,当单击链接时,它只会将我带到一个页面即使顶部的 URL 包含所有正确的信息,也会显示“无效电子邮件:未定义”。

我在这里缺少什么?

编辑:我使用此视频来获取大部分代码的布局:https://www.youtube.com/watch?v=eduG0XZ9mDs

代码:

function sendEmail(e){
/**
var email = e.values[1];
var item = e.values[2];
var cost = e.values[3];
*/
var serviceInformation = e.values[1];
var language = e.values[2];
var meetingType = e.values[3];
var eventDate = e.values[4];
var clientName = e.values[5];
var detailedDirections = e.values[6];
var onSitePOCName = e.values[7];
var onSitePOCNumber = e.values[8];
var department = e.values[9];
var contactPhoneNumber = e.values[10];
var approval = e.values[11]; //the one we need to modify
var requestorEmail = e.values[12];
var managerEmail = e.values[13];
var Language2 = e.values[14];
var interpreterName = e.values[15];
var interpreterAgency = e.values[16];
var dateConformationSent = e.values[17];
var specialNotes = e.values[18];


var url = 'https://script.google.com/a/macros/richmond.k12.va.us/s/AKfycbwuRr1boKTH0v1mprWmc7PE66_mQ_dmPE0lyWb7vkfiyW3pn31b/exec';


/**might be that the & needs to be a ?*/
var approve = url + '?approval=true'+'?reply='+requestorEmail;
var reject = url + '?approval=false'+'?reply='+requestorEmail;

var html = "<HTML><body>"+
"<h2>please review</h2><br />"
+"<P>" + language +" " + serviceInformation
+"<p>" + meetingType+ " on "+ eventDate + " for " +clientName
+"<p>" + "Location: "+ department
+"<p>" + "requester: "+ requestorEmail+ " "+
"<p>"+

"<a href="+ approve +">Approve</a><br />"+
"<p>"+

"<a href=" +reject+">Reject</a><br />"+
"</HTML></body>";


MailApp.sendEmail(managerEmail, "Approval Request", "what no html?", {htmlBody: html});

}


function doGet(e) {


var app = UiApp.createApplication();

var aprovalResponce = (e.parameter.approval == 'true') ? 'Approved.' : 'Sorry, you need to reschedule';

var msg = "Your manager said :" + aprovalResponce;

var replyEmail = e.parameter.reply;
Logger.log(replyEmail);

MailApp.sendEmail(replyEmail, "Approval Request", msg);

var helloWorldLabel = app.createLabel(msg);
app.add(helloWorldLabel);


return app;
}

最佳答案

更新答案

哦,那个视频是在 UI Service 之前制作的服务已被弃用,这就是您在 doGet() 第一行调用的内容。 Google 停止支持此服务,转而支持其他服务,HTML Service因此,即使从视频中完美转录,这个 doGet() 部分也可能无法工作。

关于javascript - 谷歌脚本电子邮件表单接受/拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28862194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com