2014-10-29 109 views
0

下面給出的代碼爲我提供了我的主域名上的網站列表,我如何獲得我的域名上包括次域名的所有網站列表?如何獲取Google Apps主域名和次域名網站

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); 
    } 
}; 

回答

1

這裏的問題是,您只是在主域名上調用這個網站。

功能'Get all sites'的輸入,並僅返回輸入域的網站。

在您的示例代碼中,變量「域」僅爲運行該應用程序的用戶返回域,因此它不會列出與運行該應用程序的用戶不在同一個域中的網站。

相反,如果您使用您的Apps帳戶中的所有域調用該函數,它將列出所有網站。

一個簡單的例子是:

function sitesToBeListed(){ 
listSites('PrimaryDomain'); 
listSites('SecondaryDomain'); 
} 

function listSites(domain) { 
    var PAGE_LENGTH=200; 
    var 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); 
    } 
}; 
+0

@ HDCerberus它似乎並不正確,最與時俱進的卡就行了VAR點= SitesApp.getAllSites(域,0,PAGE_LENGTH)工作;拋出一個錯誤,說明您請求的資源無法找到。 (第23行,文件「代碼」)關閉 – Arshanaa 2014-10-30 21:58:43

+0

@Arshanaa我只是把你的代碼和修改的領域方面,其餘的是你原來的職位。 – HDCerberus 2014-10-30 23:10:36