2012-08-15 145 views
1

我想在我的網站上創建一個表單,當用戶提交時,它會將他們的數據發佈到我的Google雲端硬盤中的特定電子表格。我如何使用Google App腳本來做到這一點?如何使用Google應用腳本將表單提交發布到Google雲端硬盤電子表格

樣表

<form method='post' action='https://script.google.com/macros/s/xxxx.....'> 
    Favorite Color <input type='text' value='' name='color' /> 
    Favorite Ice Cream Flavor <input type='text' value='' name='flavor' /> 
    <input type='button' value='submit' /> 
</form> 

,這樣,當我打提交的谷歌雲端硬盤電子表格

| color | flavor | 
    red vanilla 

創建一個記錄是這是可行的氣體,或者是排序的任務更適合於Google Drive SDK(通過Javascript)?


UPDATE

用於從How to add form elements to UI App Service例子來完成腳本

這是當前腳本我扔在一起工作得很好!

var SPREADSHEET_ID = '0Aqa6DbU_0sv7dGNrMEEybjNrdm00MlpwTTNx...'; 

function doPost(e) { 
    var app = UiApp.getActiveApplication(); 

    SpreadsheetApp.openById(SPREADSHEET_ID).getSheetByName('RequestInvites').appendRow([e.parameter.emailAddress, 'hash123']); 

    app.add(app.createLabel("Form submitted. Your email address is: '" + e.parameter.emailAddress)); 

    return app; 
} 

function createForm(e){ 
    var app = UiApp.createApplication(); 
    var form = app.createFormPanel(); 
    var flow = app.createFlowPanel(); 

    flow.add(app.createLabel('Enter your email address to get an invitation').setId('inviteLabel')); 
    flow.add(app.createTextBox().setId('emailAddress').setName('emailAddress')); 
    flow.add(app.createSubmitButton("Request Invite")); 
    form.add(flow); 

    app.add(form); 
    return app; 
} 

回答

2

你可以用GAS做到這一點。在您的腳本中,使用function doPost(e)可以在提交按鈕(您可能已經忘記;)被粘連時檢索用戶輸入。

在doPost功能中,您可以使用他們的'name'屬性訪問輸入:e.parameter.colore.parameter.flavor

然後,您可以使用Spreadsheet服務在您的電子表格中寫入。此服務的文檔是here。因此,您打開電子表格,然後在正確的表格中添加一行:SpreadsheetApp.openById('id of your spreadsheet').getSheetByName('colors_and_flavors').appendRow([e.parameter.color, e.parameter.flavor]);

讓我們回顧一下:

function doPost(e) { 
    SpreadsheetApp.openById('id of your spreadsheet').getSheetByName('colors_and_flavors').appendRow([e.parameter.color, e.parameter.flavor]); 
} 

希望它能幫助! ;)

+0

感謝doPost的解釋。現在的問題是我正在使用UI服務來生成應用程序。現在我有一個非常基本的腳本。也許你可以幫我弄清楚什麼是錯的。虐待更新我的問題 - 第二個想到我只是意識到我需要添加一個Form元素。 – qodeninja

相關問題