在GAS中恢复已删除的网站页面

时间:2014-12-11 15:11:23

标签: google-apps-script

是否有任何类型的方法可以在GAS中恢复已删除的网站页面?我当然可以删除页面,我甚至可以看到页面被删除。但我没有看到立即恢复页面的方法。在此先感谢。!

2 个答案:

答案 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类中有一个方法用于检查页面是否被删除:

Class Page

我没有看到使用Apps脚本恢复已删除页面的方法:

Apps Script Documentation for Sites

还有一个Sites API:

Google Sites API

但我没有看到有关恢复已删除网页的任何信息。

答案 1 :(得分:0)

我在Apps脚本中找不到相应的方法,所以我已经为它提交了一个增强请求here(我找不到现有的请求,但我可以'想象没有一个,所以他们可能会将它与现有问题合并)。

我建议主演它以获取更新,但与此同时我不相信那里有解决方法。