簡體   English   中英

Google腳本文檔openbyid權限錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM