列出Google协作平台中Google云端硬盘文件夹中的文件

时间:2012-10-12 01:03:19

标签: google-apps-script google-docs-api google-sites

我关注tutorial,特别是第2节。

这段代码片段给我提问

function showFolderInSite() {
  var files = DocsList.getFolderById("PASTE_FOLDER_ID_HERE").getFiles();
  var page = SitesApp.getPageByUrl("PASTE_PAGE_URL_HERE");
  var listItems = page.getListItems();
  for(i in listItems){
     listItems[i].deleteListItem();
  }
  for(i in files){
     var title = "<a href=\""+files[i].getUrl()+"\">"+ files[i].getName() +"</a>";
     // Add data according to the order of columns in your list
     page.addListItem([title, files[i].getType(), files[i].getSize(), files[i].getOwner(), files[i].getLastUpdated()]);
 }
}

我遇到的错误是

The anchor tag supplied for the List Item was not properly formed. (line 13)

当我将代码更改为

var title = "<a href=\"File"+i+"\">"+ "DEBUG: File " + i +"</a>";

脚本运行正常,Google网站页面上的列表也会更新 - 显然名称为“DEBUG”且链接无效。我实际上可以看到正确的类型和所有者,但不是其他列。

这可能是什么问题?

网址为https://sites.google.com/site/startupgaragemalaysia/file-list

1 个答案:

答案 0 :(得分:0)

我复制了你的代码,它在我的环境中运行没有问题。我创建了一个列表,其中包含5列的列表。只需确保列表的第一列设置为URL,并列出最新列表的最后一列。

- 更新:我让它在另一个文件夹上运行。此文件夹中包含“&amp;”的文件符号和一些其他需要进行URL编码的符号。所以你必须做一些像encodeURIComponent(files [i] .getName())

这样的事情