从 Google 表单提交生成 Google 文档时出现 OpenById 错误
OpenById Error when generate Google Doc from Google Form Submission
我目前在 Google 教育领域工作,我想通过 Google 表单的 onSubmit 触发器自动生成 Google 文档。我有一个模板文件,我想复制它然后用表单的响应替换字段(例如,{{name}})。
提交后,模板 Google 文档已成功复制并重命名,但我无法打开文档来替换文本字段。
var templateFile = DriveApp.getFileById(id);
var targetFolder = DriveApp.getFolderById(id);
var newDocName = title + "_" + name + "_" + submissionDate;
var newFile = templateFile.makeCopy(newDocName, targetFolder);
var newFileId = newFile.getId();
var doc = DocumentApp.openById(newFileId);
var body = doc.getBody();
文档已复制并重命名,但在 "DocumentApp.openById"
处抛出错误
您没有调用 DocumentApp.openById 的权限。所需权限:https://www.googleapis.com/auth/documents 在 onSubmit(代码:81)
我不知道为什么,因为我是表单和模板的所有者!
正如一位用户所说,您需要至少一次直接从编辑器 运行 代码(函数)。这将提示您 oauth 同意屏幕,以便您可以授权代码所需的范围(在本例中为驱动器和文档 API 范围),并将使用这些范围更新您的项目。
我目前在 Google 教育领域工作,我想通过 Google 表单的 onSubmit 触发器自动生成 Google 文档。我有一个模板文件,我想复制它然后用表单的响应替换字段(例如,{{name}})。
提交后,模板 Google 文档已成功复制并重命名,但我无法打开文档来替换文本字段。
var templateFile = DriveApp.getFileById(id);
var targetFolder = DriveApp.getFolderById(id);
var newDocName = title + "_" + name + "_" + submissionDate;
var newFile = templateFile.makeCopy(newDocName, targetFolder);
var newFileId = newFile.getId();
var doc = DocumentApp.openById(newFileId);
var body = doc.getBody();
文档已复制并重命名,但在 "DocumentApp.openById"
处抛出错误您没有调用 DocumentApp.openById 的权限。所需权限:https://www.googleapis.com/auth/documents 在 onSubmit(代码:81)
我不知道为什么,因为我是表单和模板的所有者!
正如一位用户所说,您需要至少一次直接从编辑器 运行 代码(函数)。这将提示您 oauth 同意屏幕,以便您可以授权代码所需的范围(在本例中为驱动器和文档 API 范围),并将使用这些范围更新您的项目。