我有一个谷歌电子表格,我用它创建了一个谷歌表格 . 电子表格有两张:一张带有表单响应,另一张带有配置数据 . 附加到电子表格的是表单响应触发的Apps脚本脚本,它使用配置数据进行API调用 . 这个脚本完全按照我的意愿运行 .
我编写了电子表格更改触发的脚本,它试图更新表单问题之一的选择 . 但是,使用FormApp.openById或FormApp.openByUrl会失败并显示“您无权调用...” .
是否有某种方法可以为表单提供电子表格更改触发的脚本权限?
或者是否有更好的设置来满足我的需求:在表单和脚本之间保持信息同步,根据表单响应进行api调用?
码:
function onEdit(e) {
var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// Do some work to get the configuration data. This works fine.
// Now try to get access to the form to update it
var responseSheet = activeSpreadsheet.getSheetByName('Form Responses');
// var form = FormApp.getActiveForm(); // returns null
var form = FormApp.openByUrl(responseSheet.getFormUrl());
...
}
最后一行失败了:
执行失败:您无权调用openByUrl
1 回答
您应该为onEdit()安装触发器 . 当在onEdit()中使用需要授权的方法时,必须将其安装为触发器 . 运行此脚本时,可以安装onEdit()的触发器 . 您也可以手动安装 . 您可以在here和here阅读有关触发器的信息 .
安装触发器后,再试一次 .