显示 Google 站点上所有 Google 驱动器文件的列表
Display a list of all Google Drive files on Google site
我正在尝试将其显示为网络应用程序。该站点上只有 returns 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
}
每次 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);
};
我正在尝试将其显示为网络应用程序。该站点上只有 returns 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
}
每次 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);
};