从 GMail 插件访问 Google 文档

Accessing Google Docs from GMail Add-On

我在从 GMail 插件访问 Google 文档时遇到问题。

我想从我的 GMail 插件复制特定的 Google 文档文件,然后编辑新文档。我可以使用以下方法从我的模板文档创建一个新文档:

  var docTemplate="<DOCUMENT ID>";
  var docName = "Generated Document 123";
  var copyId = DriveApp.getFileById(docTemplate).makeCopy(docName).getId();

但是,当我尝试使用以下代码打开文件时:

  var copyDoc = DocumentApp.openById(copyId);

我在 GMail 加载项窗格中收到错误提示 "You do not have permission to call openById [line: 36, function: getContextualAddOn, file: Code]"

我已经在 Google 表格的 Apps 脚本中成功使用了相同的代码,所以我假设我没有正确设置我的权限。

在我的清单文件中,我将 oauthScopes 值设置为:

  "oauthScopes": [
    "https://www.googleapis.com/auth/gmail.addons.execute",
    "https://www.googleapis.com/auth/gmail.readonly",
    "https://www.googleapis.com/auth/drive",
    "https://www.googleapis.com/auth/script.external_request"
  ]

/auth/drive 权限允许我调用 DriveApp.getFileById(),但是我需要什么不同的权限才能调用 DocumentApp.openById()?还是有其他问题?

如有任何指点/指导,我们将不胜感激!

添加:“https://www.googleapis.com/auth/documents

如果此回答对您有帮助,请点赞...

这在Using Apps Script services中提到:

Unlike most other types of Apps Scripts, custom functions never ask users to authorize access to personal data. Consequently, they can only call services that do not have access to personal data, specifically the following:

> Cannot open other spreadsheets (SpreadsheetApp.openById() or SpreadsheetApp.openByUrl())