从GMail附加组件访问Google文档

问题描述 投票:1回答:2

我在从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附加组件窗格中收到错误消息“你没有权限调用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()?还是有其他问题吗?

任何指针/指导将非常感谢!

google-apps-script google-docs gmail-addons
2个回答
1
投票

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

如果这个答案对你有所帮助,那么请求...


1
投票

这在Using Apps Script services中提到:

与大多数其他类型的应用程序脚本不同,自定义功能从不要求用户授权访问个人数据。因此,他们只能调用无法访问个人数据的服务,具体如下:

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

© www.soinside.com 2019 - 2024. All rights reserved.