我正在为我的公司创建一些谷歌应用程序脚本,用于为员工培训生成随机测试。我已经编写了基本脚本来从谷歌表中获取问题列表,随机化它们,抓住前10个问题等等。一切正常。我决定使用UiApp而不仅仅是单独的脚本来重做整个事情可能会更好。这就是问题所在。我做了一个简单的裸骨UiApp测试,发布它并尝试点击URL,这就是我遇到这个错误的地方。我搜索了这个错误,所有我能找到的是关于这是谷歌应用程序首映的一部分的讨论(应该已经折叠到2010年左右的常规谷歌应用程序)。我一直盯着这看,这让我很沮丧。它应该是非常简单但却拒绝工作的东西。我假设我在基本水平上做错了什么,但我已经达到了我的大脑拒绝看到它的程度。
这是我开始使用的基本脚本:
function doGet(e) {
var app = UiApp.createApplication();
var mainPanel = app.createVerticalPanel().setId('mainPanel');
mainPanel.add(app.createLabel('test'));
return app;
}
我保存它,发布它并转到URL,当我收到上述错误消息时。我知道这很简单,但我已经达到了挫折的程度,根本无法看到它。
答案 0 :(得分:0)
更新: 以反映评论
WebApps未更新的另一种可能性是不发布新版本并仅检查exec
URL。要立即更改代码,请始终查看dev
网址。只有在管理版本中保存版本并重新发布应用后,exec
才会更改。
第一回答:
我认为你的问题标题说明了一切。
UIApp
未定义,但Class为UiApp
。 JS区分大小写。我完全按照您的问题复制并粘贴了代码并且没有收到任何错误。我确实必须添加一行才能显示标签。
function doGet(e) {
var app = UiApp.createApplication();
var mainPanel = app.createVerticalPanel().setId('mainPanel');
mainPanel.add(app.createLabel('test'));
app.add(mainPanel); // <-- I added this line to see the label
return app;
}