[英]Google Script document openbyid permission error
如果我在Google文檔的onOpen函數中通過按ID打開電子表格來創建電子表格對象,那么如果我使用菜單系統,該如何將該對象傳遞給其他功能? (下面的詳細說明)
我有一個google doc腳本,它將在特定時間拍攝文檔快照,然后將其導出到.docx並使用快照的URL更新電子表格。 這是通過菜單選項啟動的,如下所示:
function onOpen(e) {
DocumentApp.getUi().createMenu('Senate Secretary Menu')
.addItem('Snapshot', 'snapshot')
.addToUi();
}
哪個調用函數snapshot()
function snapshot() {
//open the spreadsheet using id
var ss=SpreadsheetApp.openById('spreadsheet_id');
這將產生一個you do not have permission to call openbyid()
錯誤
我了解到Google腳本禁止在自定義函數(我將其解釋為電子表格中的函數,但是whatevs)中調用openbyid()。 如果我將onOpen函數更改為包括OpenById()調用,它將起作用。
function onOpen(e) {
DocumentApp.getUi().createMenu('Senate Secretary Menu')
.addItem('Snapshot', 'snapshot')
.addToUi();
var ss=SpreadsheetApp.openById('spreadsheet_id');
}
我的問題是如何將文件對象從onOpen函數傳遞到快照函數?
對於可能也有此問題的任何人。 我從Google快速入門中獲取了菜單模板,但在標題注釋框中缺少了@OnlyCurrentDoc
標志。 拿出來解決了我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.