Javascript 需要使用google Apps脚本列出google域下的所有站点

Javascript 需要使用google Apps脚本列出google域下的所有站点,javascript,google-apps-script,Javascript,Google Apps Script,我需要使用谷歌应用程序脚本列出谷歌域名下的所有网站。我编写了一个小脚本,但它只返回我创建的站点: 功能列表\u站点(){ var doc=DocumentApp.create('SiteList1'); var域='test.com'; var sites=SitesApp.getSites(域); 文件附录第段(“顶部”); 文件附录(现场); 文件附录第段(“底部”); doc.saveAndClose();//保存并关闭文档 } 如何获取所有站点?您可以使用getAllSites方法 S

我需要使用谷歌应用程序脚本列出谷歌域名下的所有网站。我编写了一个小脚本,但它只返回我创建的站点:

功能列表\u站点(){
var doc=DocumentApp.create('SiteList1');
var域='test.com';
var sites=SitesApp.getSites(域);
文件附录第段(“顶部”);
文件附录(现场);
文件附录第段(“底部”);
doc.saveAndClose();//保存并关闭文档
}

如何获取所有站点?

您可以使用getAllSites方法

SitesApp.getAllSites(domain, start, max)

我不知道为什么它看起来没有文档化,也不在API文档中,但我有每天使用它的生产脚本。

Peter提到的示例不适用于我,另请参见此问题: 但我找到了一个解决方案,也可能对您有所帮助:

function list_sites() {
  var doc = DocumentApp.create('SiteList1');
  var domain = 'example.com';
  var site = SitesApp.getSite(domain);

  doc.appendParagraph("Top");
  var pages = site.getAllDescendants();
  for (i in pages) {
    doc.appendParagraph(pages[i].getTitle());
  }  

  doc.appendParagraph("Bottom");
  doc.saveAndClose(); // Save and close the document  
}

需要以管理员用户身份运行

function listSites() {
  var domain = UserManager.getDomain();
  var PAGE_LENGTH=200;
  sheet = SpreadsheetApp.getActiveSheet();
  var sites = SitesApp.getAllSites(domain,0,PAGE_LENGTH);
  for(var i=0; sites.length != 0; i+=PAGE_LENGTH){
    for (var j=0; j<sites.length; j++) {
      sheet.appendRow([sites[j].getUrl()]);
    }
    sites = SitesApp.getAllSites(domain, i, PAGE_LENGTH);
  }
};
函数列表站点(){
var domain=UserManager.getDomain();
变量页长度=200;
sheet=SpreadsheetApp.getActiveSheet();
var sites=SitesApp.getAllSites(域,0,页面长度);
对于(变量i=0;sites.length!=0;i+=页面长度){

对于(var j=0;jThanks要获得帮助,SitesApp.getAllSites(domain,start,max)似乎可以将所有站点放入一个站点数组中,如果我执行var sites=SitesApp.getAllSites(domain,start,max)而打印出来的只是“sites”,我得到了单词sites,而且很多时候数组中有条目,我如何从ArrayAch项打印每个站点名称?在“sites”变量中,每个条目都将是一个site对象。site类在这里有文档记录。因此,您可以使用site.getName()返回每个站点的名称。不要忘记“接受”这个答案(在左边)如果你满意的话。