需要使用谷歌应用程序脚本列出谷歌域下的所有网站
Need to list all the sites under a google domain using Google Apps Script
我需要使用谷歌应用程序脚本列出谷歌域下的所有网站。我写了一个小脚本,但它只返回我创建的网站:
function list_sites() {
var doc = DocumentApp.create('SiteList1');
var domain = 'test.com';
var sites = SitesApp.getSites(domain);
doc.appendParagraph("Top");
doc.appendParagraph(sites);
doc.appendParagraph("Bottom");
doc.saveAndClose(); // Save and close the document
}
如何获取所有网站?
您可以使用getAllSites方法。
SitesApp.getAllSites(domain, start, max)
我不知道为什么它似乎没有文档,也没有在API文档中,但你可以找到它的引用,我有每天使用它的生产脚本。
Peter提到的例子对我不起作用,另请参阅这个问题:为什么SitesApp.getSites(myDomain)不起作用?但我找到了一个可能对你有帮助的解决方案:
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
}
https://gist.github.com/eduvik/46bb72f3ffea57402b3f
需要作为管理员用户运行
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);
}
};
相关文章:
- 从应用程序脚本检查谷歌网站访问权限
- 使用谷歌网站翻译器自动翻译网页
- 如何在谷歌网站中使用javascript获取当前页面的网址
- JavaScript和CSS样式不适用于我的“;谷歌网站”;页
- 如何在谷歌网站中显示与iframe中的特定人员共享的谷歌云端硬盘html链接
- 谷歌网站优化器脚本中的混淆脚本标记
- 检测谷歌网站翻译器的语言变化
- 以编程方式声明基于索引数组的变量(使用谷歌网站列表页面)
- 如何在谷歌网站中包含带有HTML的javascript
- 如何按程序更改谷歌网站翻译器中的语言
- 谷歌网站自动登录
- 如何获得谷歌网站管理员api(Node.js)的访问令牌
- 防止谷歌分析(ga)和谷歌网站优化器(GWO)的ga.js重复
- 谷歌网站翻译打破搜索
- 谷歌网站HTML框是't识别CSS或Javascript
- 谷歌网站搜索捕获搜索提交和触发功能
- 从谷歌网站获取信息(内部HTML-可以这么认为)
- 谷歌网站中HTML框的大小
- 检测谷歌网站上的黑莓浏览器
- 谷歌网站HTML Iframe(不是小工具)