2014-10-28 92 views
0

我已經嘗試了一段時間,無法使其工作。我使用的是Google Apps腳本,並嘗試創建一個表單,用於在Google雲端硬盤中上傳文件並將數據發佈到電子表格。我寫了一個函數來做每一個,他們工作得很好。但是當我嘗試打電話給他們或者將他們合併時,整個事情就會崩潰。Google Apps腳本 - 上傳文件並將數據發佈到電子表格

我認爲答案here會解決我的問題,但它沒有。

這是我如何在我的.gs文件中組合當前的功能。

function addEmail(form) { 

    var dropbox = "EAlertUploads"; 
    var folder = DriveApp.getFoldersByName(dropbox); 


    var blob = form.myFile;  
    var file = folder.createFile(blob);  

    var ss = SpreadsheetApp.openByUrl("<Spreadsheet URL>"); 
    var sheet = ss.getSheets()[0]; 
    var range = sheet.getRange(sheet.getLastRow()+1,1,1,12); 
    var values = [[new Date(),form.first,form.last,form.phone,form.email,form.info,form.method,form.call,form.text,form.questions,form.acknowledgement,form.deadline]]; 
    range.setValues(values); 
    Logger.log(form.first,form.last,form.phone,form.email,form.info,form.method,form.call,form.text,form.questions,form.acknowledgement,form.deadline); 

    return 200; 
} 

這裏是他們是什麼樣子分離

function addEmail(form) { 

    var ss = SpreadsheetApp.openByUrl("<SpreadsheetURL>"); 
    var sheet = ss.getSheets()[0]; 
    var range = sheet.getRange(sheet.getLastRow()+1,1,1,12); 
    var values = [[new Date(),form.first,form.last,form.phone,form.email,form.info,form.method,form.call,form.text,form.questions,form.acknowledgement,form.deadline]]; 
    range.setValues(values); 
    Logger.log(form.first,form.last,form.phone,form.email,form.info,form.method,form.call,form.text,form.questions,form.acknowledgement,form.deadline); 

    return 200; 
} 
function uploadFiles(form) { 

    try { 

    var dropbox = "EAlertUploads"; 
    var folder, folders = DriveApp.getFoldersByName(dropbox); 

    if (folders.hasNext()) { 
     folder = folders.next(); 
    } else { 
     folder = DriveApp.createFolder(dropbox); 
    } 

    var blob = form.myFile;  
    var file = folder.createFile(blob);  
    file.setDescription("Uploaded by " + form.first + first.last); 

    return "File uploaded successfully " + file.getUrl(); 

    } catch (error) { 

    return error.toString(); 
    } 

} 

在我的index.html文件這裏是我的函數調用我的成功處理程序。

$(document).ready(function() { 
$("#email_subscribe".submit(function(){ 
google.script.run.withSuccessHandler(function(ret) 
$("#thank_you").show("slow"); 
$("#email_subscribe").slideUp(); 
console.log(ret); 
}).addEmail(this); 
}); 
}); 

我正在使用提交按鈕。我知道我看到了如何影響事物的不同觀​​點。另外,最後一個警告。該文件上傳只有當我做像這樣

onclick="google.script.run 
         .uploadFiles(this.parentNode); 
         return false;" 

我已經試過一切,我可以從這裏找到,給博客一個onclick,在教程直接從谷歌無濟於事工作。

回答

1

我通過結合功能得到了這個工作。我做的唯一不同的事情是,我還沒有嘗試過將上傳文件的功能放在電子表格中輸入數據之前。

相關問題