首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Google脚本在JSON中使用未定义对象的e.PostData

使用Google脚本在JSON中使用未定义对象的e.PostData
EN

Stack Overflow用户
提问于 2022-09-29 20:45:29
回答 2查看 185关注 0票数 0

我有这个doPost网络应用程序,它从支付网关接收一个JSON对象。当存在内容时,它成功运行,但当内容为空或未定义时,我在GAS中的执行日志中得到一个失败的状态。

我尝试了几个不同的if语句,试图阻止失败的状态,但没有成功。下面是doPost函数,它包含一个if语句。

代码语言:javascript
复制
if(typeof e.postData === "undefined") return;

如果e.postData等于“未定义”,任何人能提出跳过执行的解决方案吗?

代码语言:javascript
复制
function doPost(e) {
  const jsonString = e.postData.getDataAsString();
  const event = JSON.parse(jsonString)
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sh = ss.getSheetByName("Import");
  const ts = new Date();
  const time = Utilities.formatDate(ts, "GMT+1", "dd/MM/yyyy, h:mm a");
  const nextRow = sh.getLastRow() + 1;
  if(typeof e.postData === "undefined") return;
  sh.getRange(nextRow, 1).setValue(time);
  sh.getRange(nextRow, 2, 1, 7).setValues([[jsonString, event.data.risk.flagged, event.type, event.data.reference, event.data.amount, event.data.currency, event.data.customer.email]]);
}

感谢您的阅读。

EN

Stack Overflow用户

回答已采纳

发布于 2022-10-01 15:02:03

在试用和错误之后,我发现了这个问题,通过使用问号使返回的数组中的每个元素都是可选的;下面是一个可选元素的示例:

代码语言:javascript
复制
event.data?.risk?.flagged

最后的代码如下所示。有些元素没有包含在postData中,例如上面的元素。这可能是真、假或空。

代码语言:javascript
复制
    function doPost(e) {
  const jsonString = e.postData.getDataAsString();
  const event = JSON.parse(jsonString)
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sh = ss.getSheetByName("Import");
  const ts = new Date();
  const time = Utilities.formatDate(ts, "GMT+1", "dd/MM/yyyy, h:mm a");
  const nextRow = sh.getLastRow() + 1;
  sh.getRange(nextRow, 1).setValue(time);
  sh.getRange(nextRow, 2, 1, 7).setValues([[jsonString, event.data?.risk?.flagged, event.type, event.data?.reference, event.data?.amount, event.data?.currency, event.data?.customer.email]]); 
  getData()
}
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73901424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档