是否有任何类型的方法可以在GAS中恢复已删除的网站页面?我当然可以删除页面,我甚至可以看到页面被删除。但我没有看到立即恢复页面的方法。在此先感谢。!
答案 0 :(得分:0)
您可以搜索包含已删除页面的页面,这些页面将返回搜索中找到的所有页面的数组。
search(query, options) - Class Page
var site = SitesApp.getSite("example.com", "mysite");
var childPages = site.getChildren({
type: SitesApp.PageType.WEB_PAGE,
start: 0,
max: 25,
includeDrafts: false,
includeDeleted: true,
search: "target"
});
for(var i in childPages) {
Logger.log(childPages[i].getName());
}
一旦您有对该已删除页面的引用,您可以重新创建该页面。我想知道是否有办法将删除的页面变成模板变量?如果您可以这样做,那么您可以从模板创建一个页面。或者,如果您可以从已删除的页面中检索HTML,则可以从HTML创建页面。
Google Documentation - Create page - HTML
哦!我刚发现了这个。我想知道这是否可以获得HTML。
var page = site.getChildren()[0];
Logger.log(page.getHtmlContent());
getChildren()
和search()
方法都返回Page[]
数组。因此,如果您将site.getChildren()
替换为可能值得尝试的search()
:
var site = SitesApp.getSite("example.com", "mysite");
var childPages = site.getChildren({
type: SitesApp.PageType.WEB_PAGE,
start: 0,
max: 25,
includeDrafts: false,
includeDeleted: true,
search: "target"
});
for(var i in childPages) {
Logger.log(childPages[i].getName());
if (childPages[i].getName() === "deletedName") {
Logger.log(page.getHtmlContent());
var HTML_forRecovery = page.getHtmlContent();
createWebPage(title, name, HTML_forRecovery);
}
}
Page类中有一个方法用于检查页面是否被删除:
我没有看到使用Apps脚本恢复已删除页面的方法:
Apps Script Documentation for Sites
还有一个Sites API:
但我没有看到有关恢复已删除网页的任何信息。
答案 1 :(得分:0)
我在Apps脚本中找不到相应的方法,所以我已经为它提交了一个增强请求here(我找不到现有的请求,但我可以'想象没有一个,所以他们可能会将它与现有问题合并)。
我建议主演它以获取更新,但与此同时我不相信那里有解决方法。