我有一个通过 FORMAPP.getbyurl/id 方法在应用程序脚本中使用的表单,但每次运行此代码时都会遇到错误
“发生错误:您无权调用 FormApp.openById。所需权限:https://www.googleapis.com/auth/forms ” 代码的工作原理是这样的:-首先它检查编辑的位置,然后检查复选框是否被勾选,最后它自动填写表单并提交,你们可以帮助我吗,这里是代码
function onEdit(e) {
try {
var range = e.range;
var sheet = range.getSheet();
var editedColumn = range.getColumn();
var editedRow = range.getRow();
if (sheet.getName() == "Sheet1" && editedColumn == 16) {
var cell = range;
var isChecked = cell.getValue();
if (isChecked === true) {
var indentNumber = sheet.getRange(editedRow, 12).getValue();
var formUrl = " https://docs.google.com/forms/d/e/1FAIpQLSfs8jmdWuGGyvSsqU_HAG9pfaD_pSAwWc5YGHkI5wojiH6tjw/viewform";
var form = FormApp.openById("1WlxVWcJ1llXS4pSFtfwzrxEzJVdIicDFXxIROcvPV5U");
var rowData = sheet.getRange(editedRow, 1, 1, 14).getValues()[0];
var formItems = form.getItems();
formItems[0].asTextItem().createResponse(rowData[0]);
formItems[1].asTextItem().createResponse(rowData[1]);
var formResponse = form.submit();
SpreadsheetApp.getUi().alert('Form filled and submitted successfully.');
cell.setValue(false);
}
}
} catch (error) {
Logger.log("Error: " + error.toString()); // Log error to Apps Script Execution log
SpreadsheetApp.getUi().alert('Error occurred: ' + error.message); // Display error message to user
}
}
我试图让表格自动填写并自动提交
授权错误是因为您使用的是预留功能。 onEdit 函数无法访问需要授权的服务。 FormApp.openById() 需要授权。 更改函数名称并手动安装触发器。 您可以在这里阅读更多相关信息:https://developers.google.com/apps-script/guides/triggers