Google Script文档openbyid权限错误

时间:2016-09-27 17:10:31

标签: google-apps-script google-docs-api

如果在Google文档的onOpen函数中我通过id打开电子表格来创建电子表格对象,如果我使用菜单系统,如何将该对象传递给其他函数? (下面更长的解释)

我有一个谷歌文档脚本,它会在特定时间拍摄文档的快照,然后将其导出到.docx并使用快照的网址更新电子表格。这是由菜单选项启动的,如下所示:

function snapshot() {
//open the spreadsheet using id
var ss=SpreadsheetApp.openById('spreadsheet_id');  

调用函数snapshot()

you do not have permission to call openbyid()

这会产生function onOpen(e) { DocumentApp.getUi().createMenu('Senate Secretary Menu') .addItem('Snapshot', 'snapshot') .addToUi(); var ss=SpreadsheetApp.openById('spreadsheet_id'); } 错误

据我所知,谷歌脚本禁止在自定义函数中调用openbyid()(我将其解释为电子表格中的函数,但是whatevs)。 如果我改变onOpen函数以包含OpenById()调用它将起作用。

{{1}}

我的问题是如何将文件对象从onOpen函数传递给快照函数?

1 个答案:

答案 0 :(得分:0)

对于可能也有这个问题的人。我从Google快速入门处获取了菜单模板,但它在我错过的标题注释块中有@OnlyCurrentDoc标记。拿出来解决了我的问题。