2012-10-12 33 views
2

我下面的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 Site頁面上的列表被更新 - 顯然,使用「DEBUG」作爲名稱和無效鏈接。我實際上可以看到正確的類型和所有者,但不能用於其他列。

這裏有什麼問題?

網址是https://sites.google.com/site/startupgaragemalaysia/file-list

+0

我不能用驅動器中的映像文件使用完全相同的代碼重新創建此錯誤。什麼是您試圖做到這一點的文件類型?我已經嘗試使用上傳的圖片和Google電子表格。 –

回答

0

我複製你的代碼,它在運行時在我的環境問題。我創建了一個帶有5列的列表頁面。只要確保列表中的第一列設置爲鍵入URL並且列表中的最後一列是迄今爲止。

- 更新:我讓它在另一個文件夾上運行。該文件夾中有'&'符號和一些其他需要進行URL編碼的符號。所以你必須做一些像encodeURIComponent(files [i] .getName())