android - 在谷歌应用程序脚本中设置触发器,以便在使用 dopost() 将用户信息插入新行时自动发送电子邮件

标签 android google-apps-script google-sheets

我在 android 中制作了一个 qr 扫描仪,它使用 dopost() 将值发送到 google 工作表,现在我想设置一个触发器,以便在插入新行时自动向用户发送邮件谷歌表格。

我已经尝试了 onEdit()onChange() 但它不起作用

最佳答案

您是否创建了将数据插入电子表格的网络应用程序?你的问题表明,因为你说 when user information is inserted into a new row using doPost()。所以要清楚 doPost() 和 doGet() 用于支持从 webapp 获取请求和发布。如果那是您正在做的事情,那么请说得更清楚。

但在我看来,您希望 onEdit() 在 webapp 更改电子表格中的数据时触发更改。不幸的是,这不会发生。 Simple Triggers 的文档指出 onEdit(e) 在用户更改电子表格中的值时运行。 而不是在您的脚本更改值时运行。

但是,当您使用另一个 Google Apps 脚本更新电子表格信息时,为什么不直接发送电子邮件呢?

问题回复

既然您使用了 doPost(),您为什么不只使用一个表单,那么您就没有传递查询字符串中的所有内容。

function addItem(e){ 
  var ss = SpreadsheetApp.openByUrl("url"); 
  var sheet = ss.getSheetByName('Sheet1'); 
  var date = new Date(); 
  var Roomnumber = e.parameter.Roomnumber; 
  var email = e.parameter.email; 
  sheet.appendRow([date,Roomnumber,email]); 
} 


function sendEmails() { 
  var ss = SpreadsheetApp.openByUrl("url"); 
  var sheet = ss.getSheetByName('Sheet1');
  var range = sheet.getRange(sheet.getLastRow(),1,1,3);
  var values = range.getValues;
  var date=values[0][0];
  var roomnumbeer=values[0][1];
  var email=values[0][2];
  //code to send mail 
}

关于android - 在谷歌应用程序脚本中设置触发器,以便在使用 dopost() 将用户信息插入新行时自动发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56643310/

相关文章:

android - 如何检查android应用程序是在后台还是前台还是已终止?

android - 应用程序在收到广播时自动打开

android - 改造 - 在插入硬编码查询后附加动态查询

android - 如何从 URI 获取完整的文件路径

google-apps-script - 列出文件夹中的所有文件ID(无子文件夹)

Java 到 Google 电子表格

google-maps - 在谷歌地图上显示来自谷歌电子表格的数据

javascript - Google App 脚本中未调用 onClick 函数

javascript - 创建一个带有谷歌表格链接的下拉菜单?

javascript - MailApp 无法发送大量收件人