大家好我试图在每次打开时在我的Google表格上显示侧边栏。我正在使用onOpen函数并调用html页面,但它没有执行。当我手动运行该功能时,它可以工作,但是当打开谷歌表时它不会自己执行。 这是我的代码:
.gs code:
function onOpen(){
var html = HtmlService.createHtmlOutputFromFile('tipA')
.setWidth(300);
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.showSidebar(html);
}
.html code:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div>
<p> Some text <p>
<p><img src="some link" alt="xyz" width=240 height=210></p>
</div>
</body>
</html>
答案 0 :(得分:0)
也许用户没有权限编辑SS? Google Developers说onOpen()只有在访问您工作表的用户有权编辑SS时才会触发。
答案 1 :(得分:0)
看看是否有效
function showSideBar() {
SpreadsheetApp.getUi()
.showSidebar(HtmlService.createTemplateFromFile('tipA')
.evaluate()
.setTitle('Some title'));
}
并在此功能上使用可安装的onOpen触发器。 正如前面提到过的海报,我也不相信你可以在简单的onOpen触发器上显示侧边栏(需要授权)(不需要授权)。
答案 2 :(得分:0)
简单的触发器打开功能无法打开侧边栏,因为它在AuthMode.LIMITED上运行。您应该使用在Auth.Mode.FULL上运行的函数来打开侧边栏,就像可安装的触发器一样。
我知道这不是附加组件,但以下引用适用
来自https://developers.google.com/apps-script/add-ons/lifecycle#authorization_modes
注意:在AuthMode.LIMITED中执行时,加载项无法打开侧边栏或对话框。您可以使用菜单项打开侧边栏和对话框,因为它们在AuthMode.FULL中运行。
cannonical引用
答案 3 :(得分:0)
Google最近(相当)限制了onOpen触发器的功能。 其中一个限制是不可能显示侧边栏。 没有真正的解决方法,因为可安装触发器仅适用于创建触发器的用户,而不适用于其他用户。 相反,每次有人打开文档时,您都会收到错误通知。 我找到的最佳解决方案是创建一个可用于打开侧边栏的按钮,这比菜单更容易,而且显然更加明显。 该主题有一个引用问题:https://issuetracker.google.com/issues/69238694