我知道如何編寫一個簡單的應用程序腳本(一旦發佈),它提供了一個簡單的表單(名稱和消息),可以將值推送到Google Spreadsheet中。從網頁運行Google App腳本
我的問題是:如何從我的網站運行腳本?我可以建立一個HTML表單,並且當我在電子表格中提交表單寫入時?
有沒有辦法用電子表格創建必須推送的值的鏈接?
我在哪裏可以找到示例?
感謝
編輯
GS CODE
var logSheetId = "[SHEETID]"; // Drive ID of log spreadsheet
function doGet(e){
var nome;
var messaggio;
nome = e.parameter.stringaNome;
messaggio=e.parameter.stringaMessaggio;
scriviSpreadsheet(nome,messaggio);
}
function scriviSpreadsheet(nome, messaggio) {
try {
// Open the log and record the new file name, URL and name from form
var ss = SpreadsheetApp.openById(logSheetId);
var sheet = ss.getSheets()[0];
sheet.appendRow([nome, messaggio]);
// Return the new file Drive URL so it can be put in the web app output
//return file.getUrl();
} catch (error) {
return error.toString();
}
}
HTML(外部網站)
<form id="myForm">
<input type="text" id="nome" name="nome" placeholder="Il tuo nome"/>
<input type="text" id="messaggio" name="messaggio"/>
<input type="button" value="Submit"
onclick="scrivi()" />
</form>
<script>
function scrivi(){
var nome= document.getElementById("nome").value;
var messaggio = document.getElementById("messaggio").value;
var location = "https://script.google.com/macros/s/[MYSCRIPTID]/exec?stringaNome=" + nome + "&stringaMessaggio=" + messaggio;
window.location = location;
}
function onFailure(error) {
alert(error.message);
}
</script>
我知道這是不是有史以來最好的代碼,但它的工作原理。
如何避免在點擊按鈕時打開任何頁面?
您可以編寫一個HTML表單並將其嵌入到網站,你可以使用谷歌的形式,並通過iframe嵌入,或您可以創建一個Google站點並直接嵌入GAS –
如果您的網頁可以創建HTTPS請求,那麼您可以觸發Apps腳本功能,以通過GET或POST請求運行到發佈的Apps腳本項目的URL。例如,如果您的網頁可以使用JavaScript,那麼您可以發出AJAX請求。如果您的網頁可以運行服務器端代碼,那麼您的網站服務器端代碼可以向Apps腳本URL發出GET或POST請求。爲了處理GET或POST請求,Apps腳本有兩個保留的函數名稱:'doGet()'和'doPost()'它們都監視對發佈的URL發出的請求事件。 –
將腳本作爲Web應用程序發佈。然後,您可以獲得一個鏈接,您可以單獨使用,在iframe中或直接使用Google網站頁面。對於非Google網站,在doGet(e)函數中,您可以調用'HtmlService.createTemplateFromFile('Index')。setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);''或'HtmlService.createHtmlOutput('Index')。setXFrameOptionsMode HtmlService.XFrameOptionsMode.ALLOWALL);'或其他調用之一。請參閱https://developers.google.com/apps-script/reference/html/html-service和https://developers.google.com/apps-script/reference/html/x-frame-options-mode –