将服务器脚本连接到页面以将新数据添加到电子表格
Connect server script to page to add new data to spreadsheet
我有一个服务器代码可以连接到工作人员用来输入新客户详细信息的页面。该页面还继承自 Google Drive Tables,其字段与页面和 sheet 相同。不幸的是,我不知道如何将我的服务器代码连接到我的页面,所以当输入新数据并按下提交按钮时,调用 NewCustomer() 函数并将该数据插入到我的传播末尾的新行中sheet.
我上周才开始使用 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
,select你的部署和Export Data
。如果您想自动化该过程,只需切换到云 SQL,它会为您处理备份。
我有一个服务器代码可以连接到工作人员用来输入新客户详细信息的页面。该页面还继承自 Google Drive Tables,其字段与页面和 sheet 相同。不幸的是,我不知道如何将我的服务器代码连接到我的页面,所以当输入新数据并按下提交按钮时,调用 NewCustomer() 函数并将该数据插入到我的传播末尾的新行中sheet. 我上周才开始使用 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
,select你的部署和Export Data
。如果您想自动化该过程,只需切换到云 SQL,它会为您处理备份。