簡體   English   中英

允許編輯器在Google工作表中觸發腳本,從而打開Goog​​le表單

[英]Allow editor to trigger script in google sheet which opens a google form

您好在這里遵循Tanaike的回答,我能夠成功地在Google工作表的彈出窗口中實現表單,但是當另一個用戶(我已設置為編輯者試圖打開此彈出窗口時,出現以下錯誤消息:

“您無權執行該操作。請要求該項目的所有者授予您訪問權限。”

目前尚不清楚如何授予第二個用戶進一步的訪問權限,因為他已經被設置為編輯者。

這是我觸發的腳本:

 function launchForm() { var formTitle = ''; var formID = '14uZANF9q3FKQvfLD1Qx-enYdeQ_pxzORTeHwSSKtHOk'; var form = FormApp.openById(formID); var formUrl = form.getPublishedUrl(); var htmlApp = HtmlService .createHtmlOutput('<script>location.href = "' + formUrl + '"</script>') .setSandboxMode(HtmlService.SandboxMode.IFRAME) .setTitle(formTitle) .setWidth(900) .setHeight(750); SpreadsheetApp.getActiveSpreadsheet().show(htmlApp); } function onOpen() { var sheet = SpreadsheetApp.getActiveSpreadsheet(); var entries = [{ name : "Launch Form", functionName : "launchForm" }]; sheet.addMenu("Custom Menu", entries); }; 

我實際上找到了解決我問題的替代方法。 如果有人遇到相同的問題,這是我所做的:

function myForm() {
  var html = HtmlService.createHtmlOutputFromFile('myForm')
  .setSandboxMode(HtmlService.SandboxMode.IFRAME);
  SpreadsheetApp.getUi()
  .showModalDialog(html, 'Hello');
}

並創建了一個HTML文件:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
<iframe src="..." width="500" height="500" frameborder="0" marginheight="0" marginwidth="0">Loading...</iframe>  </body>
</html>

注意:當您在Google表單>編輯表單並單擊發送>單擊嵌入HTML標簽時,可以找到iframe標記。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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