【问题标题】:How to get all pages of a Google site with many pages如何获取包含许多页面的 Google 网站的所有页面
【发布时间】:2020-06-15 21:19:15
【问题描述】:

我有一个 Google 网站,我使用 Google Apps 脚本 获取该网站的所有页面并将其数据导出为 JSON 格式。

我使用getAllDescendants 函数,代码类似于:

function getAllSitePages(site) {
  var result = [], i = 0;
  while(true) {
    var pages = site.getAllDescendants({start: i});
    if(!pages || pages.length == 0) break;
    result = result.concat(pages);
    i += pages.length;
  };

  return result;
}

但这只会让我获得第一个 891 (?!) 页面。如果我的网站有大约 1000 个页面,有没有办法通过站点服务获取所有页面?

【问题讨论】:

标签: google-apps-script google-sites


【解决方案1】:

目前,我可以通过使用 getChildren 函数来绕过该问题(因为我目前没有任何页面(包括 root),它有超过 800 个直接子级):

function getAllSitePages(root, result) {
  result = result || []
  var start = 0;
  while (true) {
    var pages = root.getChildren({ start });
    if (!pages || pages.length == 0) break;
    result.push(...pages);
    pages.forEach(page => getAllSitePages(page, result));
    start += pages.length;
  };

  return result;
}

【讨论】:

    猜你喜欢
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    相关资源
    最近更新 更多