【问题标题】:List files in a Google Drive Folder in Google Sites列出 Google 协作平台中 Google Drive 文件夹中的文件
【发布时间】:2012-10-12 01:03:18
【问题描述】:

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

这段代码 sn-p 给我带来了问题

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

【问题讨论】:

  • 我无法使用与您完全相同的代码在驱动器中使用图像文件重新创建此错误。您尝试使用的文件类型是什么?我试过上传图片和 Google 电子表格。

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


【解决方案1】:

我复制了您的代码,它在我的环境中运行没有问题。我创建了一个包含 5 列的列表的 Listpage。只需确保您将列表的第一列设置为 URL 类型,并将列表的最后一列设置为日期。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多