我正在尝试使用Google表单,该表单除其他外包括纯文本字段,通常由Google云端硬盘文件夹链接或Google表格链接填充。这个想法是要获得对这些文件/文件夹的访问权限,但是此过程往往很乏味,因为当尝试访问收集的链接时,它们并未与我共享,因此我必须请求访问权限并等待用户授予它的权限。
我已经测试了以下代码,将其定义为绑定脚本和独立脚本,但始终出现诸如Exception: Action not allowed
之类的错误,与允许访问用户数组的代码部分有关:
DriveApp.getFolderById(objectId).addEditors(emailsArr)
这是完整的代码(也尝试以编程方式安装触发器,无济于事):
try {
if (objectUrl.indexOf('drive') > -1) {
// Link to Drive folder:
objectId = objectUrl.split('id=')[1];
Logger.log(objectId);
accessedObject = DriveApp.getFolderById(objectId).addEditors(emailsArr);
Logger.log(accessedObject);
} else {
// Link to doc:
objectId = objectUrl.split('/')[5];
Logger.log(objectId);
accessedObject = DriveApp.getFileById(objectId).addEditors(emailsArr);
Logger.log(accessedObject);
}
} catch(e) {
console.log(e);
}
当新用户通过发送表单响应来触发脚本时,是否可以采用通常的Google脚本授权对话?