这是对this post的跟进。
我现在正在尝试使用模板文件,因此我可以提取一些css等。我将其作为Web应用程序发布。输出应该是iframe中包含的Google云端硬盘目录中的文件列表。
加载消息出现在iframe中,我没有收到任何语法错误,但是没有出现目录中的文件列表。
code.gs:
function doGet() {
return HtmlService.createHtmlOutputFromFile('page');
}
function FileList() {
// my folder ID
var dir = '[MY_FOLDER_ID]';
var folder = DriveApp.getFolderById(dir);
var contents = folder.getFiles();
var filelist = [];
var file, name, url, idName = [];
while (contents.hasNext()) {
file = contents.next();
name = file.getName();
idName = name.toUpperCase();
url = file.getUrl();
// add table row html to filelist array
filelist = filelist.concat('<tr><td><a id="' + idName + '" target="_blank" href="' + url + '">' + name + '</a></td></tr>');
}
// alpha sort filelist array
filelist.sort();
// turn filelist into a string
filelist = filelist.join("");
return filelist;
}
page.html中:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
function onSuccess(foo) {
var table = document.getElementById('output');
table.innerHTML = foo;
}
google.script.run.withSuccessHandler(onSuccess).getFileList();
</script>
</head>
<body>
<table id="output">Loading Files...</table>
</body>
</html>
答案 0 :(得分:0)
您的代码中存在语法/拼写错误:
google.script.run.withSuccessHandler(onSuccess).getFileList();
应该是
google.script.run.withSuccessHandler(onSuccess).FileList();
由于google脚本中的函数名称是FileList而不是getFileList()。
提示:您可以在Google Chrome中使用检查或开发者控制台,以便在运行网络应用时查看错误。(不确定您是否知道它。)
希望有所帮助,祝你好运!