1

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

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

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

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

  var copyDoc = DocumentApp.openById(copyId);

我在 GMail 附加组件窗格中收到错误消息“您无权调用 openById [行:36,函数:getContextualAddOn,文件:代码]”

我已经在 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() 需要什么不同的权限?还是有其他问题?

任何指针/指导将不胜感激!

4

2 回答 2

1

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

如果这个答案对您有帮助,请点赞...

于 2017-12-21T04:49:15.110 回答
1

使用 Apps 脚本服务中提到了这一点:

与大多数其他类型的 Apps 脚本不同,自定义函数从不要求用户授权访问个人数据。因此,他们只能调用无法访问个人数据的服务,特别是以下服务:

> 无法打开其他电子表格(SpreadsheetApp.openById() 或 SpreadsheetApp.openByUrl())

于 2017-12-21T12:16:08.050 回答