Google apps script 更新谷歌网站的html';使用Google Apps脚本创建包含多个块的页面

Google apps script 更新谷歌网站的html';使用Google Apps脚本创建包含多个块的页面,google-apps-script,google-sites,Google Apps Script,Google Sites,我已经在我的谷歌网站上使用“网页”模板创建了一个页面,我想使用谷歌应用程序脚本更新该页面。我的代码如下所示: var template = HtmlService.createTemplateFromFile('mytemplate'); // meaning 'mytemplate.html' var content = template.evaluate().getContent(); var site = SitesApp.getSiteByUrl('https://sites.goog

我已经在我的谷歌网站上使用“网页”模板创建了一个页面,我想使用谷歌应用程序脚本更新该页面。我的代码如下所示:

var template = HtmlService.createTemplateFromFile('mytemplate'); // meaning 'mytemplate.html'
var content = template.evaluate().getContent();

var site = SitesApp.getSiteByUrl('https://sites.google.com/site/example/');
var page = site.getChildByName('home');
page.setHtmlContent(content);
如果页面的布局是“一列(简单)”,那么这种方法非常有效。现在我的问题是,如果我选择其他布局之一,如何使用setHtmlContent()更新每个单独的块?实际上,我试着使用“两列(简单)”布局,它有两个块。setHtmlContent()更改了左列的html代码并清除了另一列


编辑:我真正想做的是用一个小工具创建一个页面,并使用谷歌应用程序脚本更新页面。根据此问题跟踪程序,在使用setHtmlContent()更新此类页面时,我们可能会遇到一些问题。因此,我想出了一个主意,创建一个多栏页面,在一个栏中放置一个小工具,并且只使用脚本更新另一栏的HTML代码以避免此类问题。

您还可以使用应用脚本创建一个独立的Web应用,然后将一个应用脚本小工具放入网站页面。您可以有多个应用程序脚本小工具。我不知道是什么触发了HTML的变化。就所有实际用途而言,独立应用程序脚本HTML服务应用程序基本上与网站相同。你没有一个好的、可理解的URL,但它不会出现在应用程序脚本小工具中。谷歌将显示一条消息:“此内容不是由谷歌创建的”


我认为您无法将HTML注入到多个列中。您可以创建包含多个列的HTML,然后将该HTML添加到一个列中。因此,您可以在HTML中创建自己的列。

感谢您的快速重播。嗯,也许我应该按照你的建议在我的HTML代码中创建布局。让我补充一下这个问题的背景(请原谅我没有先说),这样它可能会帮助其他人。谢谢。应用程序脚本小工具是我根本没有检查过的东西。将它与其他小工具放在一起似乎是个好主意,我会看看我的网站是否能做到这一点。顺便说一下,我在我的谷歌驱动器中更新了一个电子表格,然后手动触发脚本,根据表格中的数据生成html代码。也许可以将这些代码移到这个小工具的doGet()函数中。谢谢。你可以将文件以HTML格式保存到你的谷歌硬盘。您可以更新HTML文件,而不是使用新的HTML更新站点,应用程序脚本代码可以引用该HTML文件。新的HTML将在加载站点或刷新浏览器选项卡时自动添加。