- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个 Google Apps 脚本项目,都是电子表格类型。
让我们调用一个Server 和另一个Client。
我想从Server 公开一些函数,这样我就可以从Client 调用它们。
图书馆似乎很适合这个。
不幸的是,当我使用 Resources --> Libraries... 菜单选项将 Server 库添加到 Client 时,出现问题。
请注意,尽管Server 库已添加到Client,但我实际上从未使用过任何Server 库函数。 (事实上 Server Code.gs 是完全空白的。)
//nothing, totally blank, these are test projects created find out what is wrong
//This is our entry point
//It instantiates the Sidebar from Sidebar.html
function test()
{
SpreadsheetApp.getUi().showSidebar(HtmlService.createHtmlOutputFromFile('Sidebar')
.setSandboxMode(HtmlService.SandboxMode.IFRAME));
}
function testReturn()
{
Logger.log("doTest() called");
return 1;
}
<script>
function yay(d)
{
alert('yay: ' + d);
}
function boo(d)
{
alert('boo: ' + d);
}
google.script.run.withFailureHandler(boo).withSuccessHandler(yay).testReturn();
</script>
应该发生什么:
我们调用Client.test()。
这会从 Sidebar.html 打开一个边栏
边栏运行:
google.script.run.withFailureHandler(boo).withSuccessHandler(yay).testReturn();
这应该从 Client Code.gs
调用testReturn()
当 testReturn()
完成(或未完成)...
应调用 yay(d)
或 boo(d)
。
很简单...
因此,当我们没有附加NO 库时,将调用yay(d)
! (在这种情况下使用 d = 1
)
但是当我们确实附加了一个库时,boo(d)
被调用
d = ScriptError: We're sorry, a server error occurred. Please wait a bit and try again.
另外,我相信 testReturn()
永远不会运行,因为它没有出现在日志中。
我做错了什么?这是 Google 方面的错误吗?
我公开了测试项目:
总而言之,我不明白为什么简单地添加共享库会破坏 google.script.run
.... 功能。特别是因为图书馆是空白的。
最佳答案
tl;dr 您的“库”是包含电子表格的脚本。为你的库使用一个独立的脚本,你会没事的。
我使用您的示例代码创建了一个脚本和库,并且运行良好。我抓取了您共享文件的副本,它们都是电子表格,并重现了这个错误:
We're sorry, a server error occurred. Please wait a bit and try again.
我尝试了几个著名的公共(public)图书馆,SheetConverter和 BetterLog .如果我从项目中删除了你的库,一切都很好。
观察:问题不是库的存在,而是的存在您的图书馆。
与我的手卷副本和两个公共(public)图书馆相比,您的图书馆有什么特别之处?你的是包含电子表格的。其他三个是独立的。
结论:不要那样做。对于库,请使用独立脚本。
我还没有在任何当前文档中找到详细说明。碰巧的是,我所有的库都是独立脚本,所以我以前从未遇到过这个限制,也不能说这是新的东西还是旧文档或示例表达了独立要求。
关于您的其他问题/问题...
And when
testReturn()
finishes (or doesn't)...
WRT “或不”部分...当服务器函数抛出
异常时调用failureHandler
。您观察到的错误消息就是这样的一个异常(exception)。如果您有意要调用一个failureHandler
,您的服务器代码应该throw
。
Also, I believe
testReturn()
is never run because it does not show up in the logs.
触发脚本并不总是可以访问编辑器的日志查看器,因此您应该考虑使用 BetterLog 库将日志写入电子表格。它甚至适用于没有附加调试器的触发器函数和 Web 应用程序。 (只是说,因为缺少日志不能可靠地暗示从客户端代码调用的函数没有运行。)
关于google-apps-script - 服务器错误,使用共享库时 google.script.run 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31352328/
我知道 source 和 . 做同样的事情,如果标题中的其他命令对不一样,我会感到惊讶事情(因为我正在运行 bash 作为我的 shell,$SHELL [script] 和 bash [script
我在尝试启动第一个 super 账本网络时遇到此错误: $ ./byfn.sh -m up Starting with channel 'mychannel' and CLI timeout of '
哪个更好用或者更方便: ... 或 ... 最佳答案 你真的需要类型属性吗?如果您使用的是 HTML5,则不会。否则,是的。 HTML 4.01 和 XHTML 1.0 指定了 type属性是必需的,
哪个更好用或者更方便: ... 或 ... 最佳答案 你真的需要类型属性吗?如果您使用的是 HTML5,则不会。否则,是的。 HTML 4.01 和 XHTML 1.0 指定了 type属性是必需的,
使用此语法包含外部 javascript 文件的正确术语是什么: 是否包含script.js?执行了吗?是链接的吗?是叫吗?我刚刚运行了该文件吗? 最佳答案 我认为这里最常见的术语是加载外部 Jav
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Why don't self-closing script tags work? 我刚刚发现 HTML 中的
没什么可说的了。我尝试寻找这意味着什么,但找不到。该脚本几个月来一直运行良好,并在 12 小时前停止,没有对其进行任何更改。手动运行显示此错误。 最佳答案 我遇到了同样的问题,我只需从脚本编辑器中单击
我是 Apps 脚本的新手,正在尝试了解使用另一个帐户在一个帐户中运行/触发脚本的基础知识。需要注意的是:我想在访问脚本的用户而不是拥有脚本的用户的情况下运行脚本——以便将运行时间分配给访问的用户。
我是 Apps 脚本的新手,正在尝试了解使用另一个帐户在一个帐户中运行/触发脚本的基础知识。需要注意的是:我想在访问脚本的用户而不是拥有脚本的用户的情况下运行脚本——以便将运行时间分配给访问的用户。
我最近遇到这个问题,我试图在我的 HTML 页面中导入多个 js 文件,如下 - 但我面临的问题是,它只加载第一个 js 文件,而其余的 js 文件没有加载。我还检查了浏览器中的网络部分,剩下的
Duplicate Why don’t self-closing script tags work? 我正在编写一个 ASP.net 页面,它在 JS 文件中有一些用于客户端身份验证的 Javascr
为什么以下行在许多浏览器(mozilla、IE)中不起作用? 为什么一定要这样设置? 最近我将我的项目从 XHTML 转换为 HTML5,我遇到了一些小但令人不安的不兼容性。 最佳答案 虽然脚本元
这个问题已经有答案了: Why don't self-closing script elements work? (12 个回答) 已关闭 7 年前。 经过两天的 Angular 与 Webpack
我在任何地方都找不到这个问题的答案;甚至在官方文档中也没有。我已经尝试自己编写代码,但它不起作用,所以它可能无法实现。 在下面的示例中,您可以使用条件颜色进行绘图: //STACKED EMAs
我正在通过串行端口使用 Tera Term 在板上进行一些测试。最近我发现我可以在 Tera Term 中编写一些脚本,所以我一直在做研究以帮助自动化并使测试更容易一些。 我知道 Tera Term
数组在 PineScript 中不可用。 有解决办法吗?有没有人开发过代码,作为数组使用? 我需要它做什么?我想计算每条趋势线或 S/R 水平的触及次数。 最佳答案 要实现计数器,您可以创建一个变量,
有没有办法创建一个指标来反射(reflect) Pine Script 中股票的当前价格?我需要这个指标,因为我需要在蜡烛关闭之前输入订单(当有特定的交叉时)并且回测数据是逐条提供的。我认为一个指标可
我的网站有一个脚本,如果从移动设备查看页面,格式和样式会发生变化。在网站的 2/3 页上,该脚本效果很好,正如我想要的那样。但是在最后一个上,用于更改格式和样式的脚本运行但未完全运行。我已经尝试从我的
我是否正确,市场上没有直接替代此流程: 在 chrome 插件商店中发布未列出 直接将链接分享给可以使用脚本的人 特别是,这些机制允许我使用我在所有 google dsoc 上编写的脚本。 随着转向市
我有一个简单的 Google Script 发布为具有匿名访问权限的网络应用程序。代码可用 here网络应用程序可用 here . code.gs function doGet() { retur
我是一名优秀的程序员,十分优秀!