我指定Google脚本而不仅仅是javascript的原因是因为我在javascript中找到的示例都使用了html,Google Script在基本格式化命令之外似乎不能很好地运行。
我有一个函数formSubmitReply(),它根据表单提交发送电子邮件,另一个addToCalendar()自动将表单提交填充到Calendar事件中。这两个都经过独立测试,运行良好。
我尝试做的是在电子邮件中加入“添加到日历”按钮,点击后将执行addToCalendar()。
我遇到的困难是错误“TypeError:无法在对象Generic中找到函数addToCalendar”。我该如何解决这个问题?
以下是我的代码的相关部分:
// Button setup
function doGet()
{
var app = UiApp.createApplication();
// Create button and give it a click handler
var button = app.createButton("Add to Calendar").setId("button");
button.addClickHandler(app.createServerHandler("formSubmitReply"));
app.add(button);
return app;
}
// Email function
function formSubmitReply(e)
{
// Call "button" application
var app = UiApp.getActiveApplication();
/* Additional function code; excluded here */
// Send email
GmailApp.sendEmail(userEmail,
"Event Support Request Submitted",
message +
app.getElementById("button").addToCalendar(e),
{name:"Media Services"});
}
答案 0 :(得分:0)
我认为通过电子邮件按钮调用应用程序脚本函数是不可能的(或者任何js虽然我可能会误认为那个)。您可以做的是从e序列化信息。然后将URL嵌入到应用脚本中,该脚本将处理作为参数传递的编码信息。网址长度有限,因此您可能希望嵌入一个表单,如果您发送的数据非常大,则会将数据提交到应用脚本。