首页 > 解决方案 > Google 脚本的格式参数

问题描述

我正在我的 Google Sheet 上构建一个脚本,该脚本将从我的 CRM 中捕获 Webhook POST 并更新工作表上的一行。一切都很完美,除了我不知道如何格式化这个参数。

它出现在 webhook 有效负载中,如下所示:...“Dinner Seminar Session Choice”:“Thursday, Feb 27th at 5:30pm”,...

谷歌表格脚本是这样的:

//this is a function that fires when the webapp receives a GET request
function doGet(e) {
  return HtmlService.createHtmlOutput("request received 11:40");
}

//this is a function that fires when the webapp receives a POST request
function doPost(e) {
  var params = JSON.stringify(e.postData.contents);
  params = JSON.parse(params);
  var myData = JSON.parse(e.postData.contents);
  var FirstName = myData.first_name;
  var LastName = myData.last_name;
  var Phone = myData.phone;
  var Session = myData.DinnerSeminarSessionChoice;
  var sheet = SpreadsheetApp.getActiveSheet();
  var lastRow = Math.max(sheet.getLastRow(),1);
  sheet.insertRowAfter(lastRow);
  var timestamp = new Date();
  sheet.getRange(lastRow + 1, 1).setValue(timestamp);
  sheet.getRange(lastRow + 1, 2).setValue(FirstName);
  sheet.getRange(lastRow + 1, 3).setValue(LastName);
  sheet.getRange(lastRow + 1, 4).setValue(Phone);
  sheet.getRange(lastRow + 1, 5).setValue(Session);
  sheet.getRange(lastRow + 1, 6).setValue(params);
  SpreadsheetApp.flush();
  return HtmlService.createHtmlOutput("post request received");
}

function myFunction() {

}

您可以在第 14 行看到,我正在尝试将该参数的内容设置为 var Session。但无论有没有空格,它似乎都不起作用。

我确定这是一个简单的格式错误,但我只是不知道该怎么做。我很感激任何帮助。

杰森

标签: javascriptgoogle-apps-scriptgoogle-sheets

解决方案


正如@TheMaster 的评论所指出的那样。

属性访问器可以与“[ ]”一起使用来读取或写入带有空格的属性名称。


例子:

const json_response = {
  "oldValue": "false",
  "trigger Uid": "30023847",
  "user": {
    "nick name": "fat.mike",
  }
}

console.log(json_response.oldValue)
json_response.oldValue = null;
console.log(json_response['oldValue'])

console.log(json_response['trigger Uid'])

console.log(json_response.user);
console.log(json_response.user['nick name'])


推荐阅读