1

我正在努力扩展此处发布的工作流脚本...

James Ferreira 工作流程视频。

我已经扩展了脚本,并且在电子邮件方面一切正常,但是我遇到了 doGet() 函数无法正常工作的问题。

这是视频中的代码:(sendEmail 的 mycode 不同并且工作正常,因为它使用和文档模板。

function sendEmail(e) {
  var email = e.values[1];
  var Item = e.values[2];
  var cost = e.values[3];  
  var url = '<ENTER YOUR PUBLISHED URL>';  
  var approve = url + '&approval=true'+'&reply='+email; 
  var reject = url + '&approval=false'+'&reply='+email;

  var html = "<body>"+
            "<h2>Please review</h2><br />"+
            Item +": " + cost+ "<br />"+ 
            "<a href="+ approve +">Approve</a><br />"+
            "<a href="+ reject +">Reject</a><br />"+
         "</body>";

  MailApp.sendEmail("jjones@beaconcloudsolutions.com", "Approval Request", 
                "What no html?", {htmlBody: html});  
}

function doGet(e){ 
  var answer = (e.parameter.approval == 'true') ? 'Buy it!' : 'Not this time, Keep saving';   
  MailApp.sendEmail(e.parameter.reply, "Purchase Request", 
                "Your manager said: "+ answer);     
  var app = UiApp.createApplication();
 app.add(app.createHTML('<h2>An email was sent to '+ e.parameter.reply + ' saying: '+ answer + '</h2>'))
  return app
}

因此,当脚本运行时,我收到显示批准/拒绝链接的电子邮件,但是当我选择批准或/拒绝链接时,我得到

“抱歉,您请求的页面(或文档)不存在。” “ 请检查地址,然后再试一次。”

此链接应重定向到已发布的 web 应用程序,并在 var URL 中注明并附加 var 批准或拒绝,然后只显示一个基本的 HTML 页面。

关于什么是错的任何建议?该脚本已授权..

4

1 回答 1

0

当您单击电子邮件中的链接时,地址栏会显示什么?也许某些东西格式不正确或编码不正确。

我现在的直觉是缺少一个“?” 在附加任何参数之前。

也许试试这个 -

      //note the ? instead of &
      var approve = url + '?approval=true'+'&reply='+email; 
      var reject = url + '?approval=false'+'&reply='+email; 
于 2012-11-05T21:51:28.817 回答