我知道如何编写一个简单的应用程序脚本(一旦发布),它提供了一个简单的表单(名称和消息),可以将值推送到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 –