2016-02-26 142 views
2

所有谷歌雲端硬盤文件我試圖顯示此作爲一個web應用程序的列表。它只返回網站上的1個文件。日誌顯示50多個文件。 htmloutput爲什麼不顯示像日誌那樣的所有文件。任何幫助都是極好的。顯示在谷歌網站

function doGet(e) { 
    var query = 'fullText contains "Printers"' ; 
    var folders, pageToken; 
    do { 
    folders = Drive.Files.list({ 
     q: query, 
     maxResults: 100, 
     pageToken: pageToken 
    }); 

    if (folders.items && folders.items.length > 0) { 
     for (var i = 0; i < folders.items.length; i++) { 
     var folder = folders.items[i]; 

     Logger.log('%s (ID: %s)', folder.title, folder.id); 
     } 
    } else { 
    } 
    var Output3 = folder.id; 
    var output = HtmlService.createHtmlOutput(Output3); 
    pageToken = folders.nextPageToken; 
    } while (pageToken); 

    return output 
} 

回答

1

每當您的for循環迭代時,它將覆蓋以前的內容。

var Output3 = folder.id; 

您將需要使用類似:

var Output3 = "";//define this outside the `for` loop 
Output3 = Output3 + folder.id; 

下面是完整的代碼返工:

function doGet() { 
    var query = 'fullText contains "Printers"' ; 
    var folders, folder, pageToken, foldersLngth = 0, theItems, output=""; 

    do { 
    folders = Drive.Files.list({ 
    q: query, 
    maxResults: 100, 
    pageToken: pageToken 
    }); 

    foldersLngth = folders.items.length; 
    theItems = folders.items; 

    if (theItems && foldersLngth > 0) { 

    for (var i=0; i < foldersLngth; i++) { 
     folder = folders.items[i]; 
     Logger.log('%s (ID: %s)', folder.title, folder.id); 
     output = output + folder.title + ", " + folder.id; 
    }; 
    }; 

    //var Output3 = folder.id; 
    //HtmlService.createHtmlOutput(Output3); 
    pageToken = folders.nextPageToken; 
    } while (pageToken); 

    return HtmlService.createHtmlOutput(output); 
}; 
+0

真棒。有用。感謝您的幫助 –