嗨,按照Tanaike的回答here,我能够在我的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);
};
答案 0 :(得分:0)
我实际上找到了解决我问题的替代方案。如果有人遇到同样的问题,我就是这样做的:
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表单中编辑表单时,可以找到iframe标记&gt;然后点击发送&gt;点击标签嵌入HTML