【问题标题】:Web applications - doGet() - Anonymous UsersWeb 应用程序 - doGet() - 匿名用户
【发布时间】:2015-08-24 17:37:45
【问题描述】:

我是 Google-apps-script 的新手,非常感谢您对这个问题的帮助:

我有一个函数“Brownformat()”,我从执行以下代码的侧边栏调用它:

代码.gs

function onOpen() {
  SpreadsheetApp.getUi()
  .createMenu('Custom Menu')
  .addItem('Custom Sidebar', 'showSidebar')
  .addToUi();
  showSidebar()
}

function showSidebar() {
  var html = HtmlService.createHtmlOutputFromFile('Page')
  .setSandboxMode(HtmlService.SandboxMode.IFRAME)
  .setTitle('Sidebar')
  .setWidth(300);
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
  .showSidebar(html);
}

function Brownformat() {
  SpreadsheetApp.getActiveRange().setBackground("#e1b99c");
}

页面.html

<p>Brown Group</p>
<input type="button" value="" style="background-color:#e1b99c; color:#f00;"
  onclick="google.script.run.Brownformat()" /> 

基本上,此功能通过单击侧边栏上的按钮将当前单元格的背景颜色更改为棕色。

此功能在您登录后完美运行,但不适用于匿名用户。

我了解到您需要将代码发布为 Web 应用程序才能解决此问题,并使用特殊的回调函数。

谁能告诉我如何为上面显示的代码实现这个回调函数?

谢谢。

查洛

【问题讨论】:

  • 澄清一下,因为您甚至无法为匿名用户显示侧边栏(或添加菜单或在图像中单击处理程序等)。那是您的问题,而不是功能本身不起作用,对吗?
  • Zig,没错,但我的印象是,为了制作一个 Web 应用程序,需要使用回调函数来定义函数。不仅是 Brownformat 功能,而且就像您说的那样,还有显示侧边栏和自定义菜单的功能。谢谢。
  • 是的,来自 onOpen 等简单的触发器
  • Zig,我编辑了我的原始帖子以包含触发器。基本上我希望这段代码也能够为匿名用户运行。 rigth 现在仅适用于注册用户。谢谢。

标签: google-apps-script google-sheets


【解决方案1】:

因为不可能为匿名用户显示侧边栏。您需要制作一个 webapp 并将 webapp url 包含在工作表中,以便他们在另一个选项卡上手动运行它。

【讨论】:

  • 我按照以下步骤操作:Web Apps 并收到此错误:找不到脚本函数:doGet。
  • 这与您问题中发布的代码无关。您链接的页面清楚地表明您需要“doGet”。如果仍有问题,请提出单独的问题,并在其中包含相关的新代码。
猜你喜欢
  • 1970-01-01
  • 2011-07-17
  • 2023-03-10
  • 2015-05-27
  • 2014-05-20
  • 2020-11-14
  • 1970-01-01
  • 2015-09-24
  • 1970-01-01
相关资源
最近更新 更多