将服务器脚本连接到页面以将新数据添加到电子表格
问题描述:
我有一个服务器代码连接到工作人员用于输入新客户详细信息的页面。该页面也从Google云端硬盘表中继承,其页面和工作表的字段相同。不幸的是,我不知道如何将我的服务器代码连接到我的页面,所以当输入新数据并按下提交按钮时,NewCustomer()函数被调用并将该数据插入到电子表格末尾的新行中。 我刚刚开始使用appmaker上周,如果我的问题非常小心,我很抱歉。 任何帮助真的很感激。将服务器脚本连接到页面以将新数据添加到电子表格
服务器代码:
function NewCustomer() {
var spreadSheet = SpreadsheetApp.openById("***").getActiveSheet()[0],
dataToBackUp = [],
globalKeys = {
model: ["Channel", "Owner", "INQDate","CustomerName", "CNT", "Contact", "Email",
"Amount", "Status", "TargetDate", "Type", "Transaction", "NoteUpdate"],
label: ["Channel", "Owner", "INQ Date","Customer Name", "CNT", "Contact", "Email",
"Amount", "Status", "Target Date", "Type", "Transaction", "Note Update"],
};
var records = app.models.requests.newQuery().run();
if(records.length >= 1) {
for (var i = 0; i < records.length; i++) {
var newLine = [];
for (var x = 0; x < globalKeys.model.length; x++) {
newLine.push(records[i][globalKeys.model[x]]);
}
dataToBackUp.push(newLine);
if(i === records.length - 1) {
if(dataToBackUp.length >= 1) {
spreadSheet.appendRow(dataToBackUp);
}
}
}
}
}
答
所以,如果你唯一的问题是客户端和服务器之间的通信,那么你可以使用这个片段做:
// onClick button event handler
google.script.run
.withFailureHandler(function(error) {
// TODO: An error occurred, so display an error message.
})
.withSuccessHandler(function(result) {
// TODO: Handle success
})
.myPublicServerSideFunction(param1, param2);
您可以阅读更多有关客户端 - 通过以下链接进行服务器通信:
https://developers.google.com/apps-script/guides/html/reference/run https://developers.google.com/appmaker/scripting/client#call_a_server_script
如果你想让你的数据备份,那么你可以直接去Settings -> Deployments
,选择你的部署和Export Data
。如果您想自动执行该流程,只需切换到Cloud SQL,它将为您备份备份。