我在使用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()?还是有其他问题吗?
任何指针/指导都将非常感谢!
答案 0 :(得分:1)
添加:“https://www.googleapis.com/auth/documents”
如果这个答案对你有所帮助,请提前投票......
答案 1 :(得分:1)
Using Apps Script services中提到了这一点:
与大多数其他类型的应用程序脚本不同,自定义功能永远不会问 用户授权访问个人数据。因此,他们可以 仅呼叫无法访问个人数据的服务, 具体如下:
<强>&GT;无法打开其他电子表格(SpreadsheetApp.openById()或 SpreadsheetApp.openByUrl())强>