2017-02-25 25 views
0

これはthis postのフォローアップです。Google Apps Script WebAppをファイルに渡す

私は今、テンプレートファイルを使用しようとしているので、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

がある:

google.script.run.withSuccessHandler(onSuccess).getFileList(); 

それは

google.script.run.withSuccessHandler(onSuccess).FileList(); 
する必要があります

Googleスクリプトの関数名は、FileListでgetFileList()ではないためです。

ヒント:。(。あなたはそれを知っていたかどうかわからない)あなたがウェブアプリケーションを実行すると、あなたのエラーを表示するためにGoogleのクロムに点検やデベロッパーコンソールを使用することができます

役に立てば幸い、幸運を!

関連する問題