我是Google Appscript的新手,所以如果这个问题听起来很愚蠢,请原谅我。
我正在尝试将PHP脚本中的变量转换为Google App脚本,以利用Gmail发送电子邮件。我不太确定我是否采用正确的方式,但我试图通过URL中的get请求将变量传递给appscript并以这种方式访问它们。
//get the variables from the url and send email
function doGet(e){
var first_name = e.parameter.first_name;
var last_name = e.parameter.last_name;
var email = e.parameter.email;
var phone = e.parameter.phone;
GmailApp.sendEmail(first_name,last_name + email, phone);
}
doGet();
我测试了它能够通过get请求从url获取变量,方法是将其部署为Web应用程序并在URL中传递一些测试变量:
https://script.google.com/macros/s/AKfycbzk14ZKDdsofFqx0vU2_kFIXLTduAMvy_G_9MyuS_d046MZIGQb/exec?first_name=testname&last_name=testname&phone=testname&email=testname
但是,我在页面上收到以下错误:
TypeError: Cannot read property "parameter" from undefined. (line 24, file "Code", project "email 6")
你能告诉我这里我做错了什么,或者有更好的方法来解决这类问题。
谢谢!
答案 0 :(得分:0)
删除您在函数定义后放置的doGet()调用。
收到HTTP请求后,将自动调用doGet(),您不需要明确调用它。
当收到HTTP请求时,在触发doGet()之前,不会执行函数内的任何代码。这意味着您当前的代码正在运行没有参数的doGet(),从而达到了" e"在将实际的HTTP请求传递给doGet之前是未定义的错误。
否则,函数中的代码看起来是正确的。