Google Sheets API V4和Google应用程序脚本
我一直在使用Sheets API v4,以允许授权用户从表单将数据输入电子表格。我想做的是让谷歌应用程序脚本在添加新数据时触发一个函数。我似乎无法使用“编辑”触发器工作Google Sheets API V4和Google应用程序脚本,api,google-apps-script,google-sheets,Api,Google Apps Script,Google Sheets,我一直在使用Sheets API v4,以允许授权用户从表单将数据输入电子表格。我想做的是让谷歌应用程序脚本在添加新数据时触发一个函数。我似乎无法使用“编辑”触发器工作 function createSpreadsheetEditTrigger() { var ss = SpreadsheetApp.getActive(); ScriptApp.newTrigger('makeLog') .forSpreadsheet(ss) .onEdit() .c
function createSpreadsheetEditTrigger() {
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger('makeLog')
.forSpreadsheet(ss)
.onEdit()
.create();
}
function makeLog(){
Logger.log("New Entry")
}
可以这样做吗?下面的示例脚本怎么样?当电子表格由工作表API v4从外部编辑时,
onChange()
成为它的触发器。因此,请将脚本从onEdit()
更改为onChange()
。我准备了一个用于测试的示例脚本
当电子表格由工作表API v4编辑时,此示例脚本将发送一封电子邮件。我确认这工作正常。使用此示例时,请输入电子邮件并首先运行createSpreadsheetEditTrigger()
。这样就安装了触发器。在此之后,按工作表API v4编辑电子表格
当电子表格由Sheet API v4从外部编辑时,我使用了sendmail()
作为示例,因为脚本编辑器已关闭
示例脚本:
function createSpreadsheetEditTrigger(){
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger('makeLog')
.forSpreadsheet(ss)
.onChange()
.create();
}
function makeLog() {
MailApp.sendEmail("### Your e-mail address ###", "test mail", "Spreadsheet was edited.");
}
如果我误解了你的问题,我很抱歉。欢迎并感谢你。如果此问题已解决,请按“接受”按钮作为已解决的问题。其他人也可以使用这个问题和答案。我能再问你一个问题吗?触发器位于服务器上。有没有办法在客户端触发函数?您可以使用Web应用程序使用
newTrigger()
的方法。如果它不是一个web应用呢?如果它从外部客户端执行方法,它会想到web应用和执行api。在安装触发器的情况下,它使用web应用程序。关于这个,因为我已经证实了这一点,不要担心。另一方面,由于限制,无法执行api。