使用Google Apps脚本创建Google网站页面

时间:2012-05-04 07:32:59

标签: google-apps-script google-sites

这是我的代码

function test2(){
var titlePage="test titre";
var namePage="test-titre";
//Creer nouvelle page dans le site (avec le nom) avec modele gestion de projet
var Site=SitesApp.getSite('site','gestionorgairsoft');
  var PageMod=SitesApp.getPageByUrl('https://sites.google.com/site/gestionorgairsoft/projets/op-full-72').getHtmlContent();
var PageParent=SitesApp.getPageByUrl('https://sites.google.com/site/gestionorgairsoft/projets');

  var parent=Site.getChildByName('projets');
 var newPage= parent.createWebPage(titlePage, namePage, PageMod);
  newPage.setParent(SitesApp.getSiteByUrl('https://sites.google.com/site/gestionorgairsoft/projets'));
}

得到"内部错误"在线var newPage = parent.createWebPage(titlePage,namePage,PageMod);

但我真的不知道该怎么做

背景是:
- 网站:https://sites.google.com/site/gestionorgairsoft
- 家长:' https://sites.google.com/site/gestionorgairsoft/projets

需要创建一个新页面,标题为" titlePage"作为孩子的页面https://sites.google.com/site/gestionorgairsoft/projets/op-full-72

的副本

2 个答案:

答案 0 :(得分:0)

我尝试了这样的代码,它在我的一个网站上为我工作。我会在代码中替换您的网站和网页名称:

function createCopyOfPage() {
  var titlePage = 'test titre';
  var namePage = 'test-titre';
  try {
    var site = SitesApp.getSite('site', 'gestionorgairsoft');
    var parentPage = site.getChildByName('projets');
    var origPage = parentPage.getChildByName('op-full-72');

    var pageContent = origPage.getHtmlContent();

    var newPage = site.createWebPage(titlePage, namePage, pageContent);
    newPage.setParent(parentPage);
  } catch (err) {
    Logger.log(err.toString());
  }
}

如果在尝试运行此错误时遇到任何错误,try / catch应该有助于记录一些更详细的错误消息。如果它确实发现任何错误,请更新记录的内容,因为这可能有助于缩小导致任何问题的原因。

答案 1 :(得分:0)

父网页可能不是网站主页的直接子网。

在这种情况下,我成功使用了以下方法。

   //Get page
   var matches = site.search('projets'); 
   for(var i in matches) {
   Logger.log(matches[i].getName());  // logger can help you find if this is correct. 
   }
   var page2 = matches[0] 

它非常不理想,因为它需要一个唯一的名称,所以只有一个索引[0]。

否则,你需要一个孩子的孩子......