【问题标题】:Create a Google Site Page using Google Apps Script使用 Google Apps 脚本创建 Google 站点页面
【发布时间】:2012-05-04 07:32:58
【问题描述】:

这是我的代码

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的副本

【问题讨论】:

    标签: google-apps-script google-sites


    【解决方案1】:

    我尝试了这样的代码,它在我的一个站点上对我有用。我将在代码中替换您的站点和页面名称:

    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 应该有助于记录一些更详细的错误消息。如果它确实发现了任何错误,请更新所记录的内容,因为这可能有助于缩小对您造成任何问题的原因。

    【讨论】:

    • 看起来很有希望,但Exception: Erreur liée à un service : SitesApp: Internal Error
    • 您能发布您的脚本的项目密钥吗?您可以在脚本编辑器的文件 > 项目属性中找到它。
    • Mk3f8yxqtyEy7AaXUzKI5kWbsYizgyvoY
    【解决方案2】:

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

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

       //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]。

    否则虽然你需要一个孩子的孩子 o a....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 2015-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多