【发布时间】:2016-01-29 19:24:05
【问题描述】:
嘿,早上好/下午好/晚上好,这取决于你们在哪里!
请教你们一个简短的问题。我在这个问题上被困了一段时间,我试着环顾四周,但我似乎找不到这个特定问题的答案。
所以我正在尝试使用带有 html 服务的谷歌脚本创建一个柱形图(因为他们的 UIApp 服务现在已被贬值)。我正在尝试从已经创建的电子表格中检索数据。但是当我使用这段代码时,页面出现空白,好像后台有一些错误。
var sheet = SpreadsheetApp.openById("1gdRB6FFV426bAj95C0xJlqSucnnX0Z5ATVQdC2");
所以这里有一些细节:
1) 我将这一行放在我的 Index.html 文件中的一个函数中,我已调用
drawChart();
2) 我确实将它们包裹在这个标签中。
<script type="text/javascript">
3) 我知道这行代码是问题的原因,因为一旦我将其注释掉,我的带有临时数据的临时图就会弹出,并且页面运行正常。但是一旦取消注释,它就会清空整个页面。
有什么想法吗?
我想知道是否必须将这行代码实际放在“Code.gs”文件中,然后了解如何将数据从 Code.gs 传输到我的 Index.html 文件。如果是这种情况,任何人都可以指出我可以按照指示进行操作的方向吗?
提前谢谢你们。
真诚地, 西卡里克斯
【问题讨论】:
-
如果
SpreadsheetApp在 HTML 脚本标签中,它将不会运行。SpreadsheetApp只能在.gs文件中使用。它不是 JavaScript,它是 Google Apps 脚本独有的。 -
有关将图表放入独立 Web 应用程序的示例,请参阅此共享的应用程序脚本。 Shared Apps Script File
-
请帮助我们帮助您。如果 GAS 脚本运行良好,则错误在 HTML 中的某处 - 您可以通过检查浏览器控制台来查看它。正如 Sandy 所说,这很可能是由于 JavaScript 中有那行代码而不是
.gs文件。另请注意,您不一定需要SpreadsheetApp,您也可以使用只能在 JavaScript 中使用的google.visualization.Query。 details here -
好吧,我的 HTML 标签中有错误,因为像 @SandyGood 说的 SpreadsheetApp 不会在 HTML 中运行。那么我是否可以在 .gs 文件中编写 SpreadsheetApp 代码并将数据发送到我的 HTML 标记中的变量?还是我必须像@Adelin 提到的那样使用“google.visualization.Query”来从电子表格中收集所有数据?
-
您需要查看
google.script.run客户端API。这就是用来调用服务器并使用withSuccessHandler()处理返回的数据的方法。 Link to Google Documentation
标签: javascript html google-apps-script google-visualization google-apps