Ben*_*ins 5 google-apps-script
我正在尝试创建一个脚本来通过 HTTP POST 从 Ejunkie 捕获数据。当有人在 ejunkie 上进行购买时,他们可以通过 HTTP POST 将所有订单数据传输到公共通知 URL(文档)。我想捕获这些数据,以便将其放入 Google 表格中。
所以我设置了一个带有 doPost(e) 函数的工作表,如下所示:
// attempt 1
function doPost(e) {
if(typeof e !== 'undefined')
Logger.log(e.parameters);
}
// attempt 2
function doPost(e) {
var data = JSON.stringify(e);
Logger.log(data);
}
Run Code Online (Sandbox Code Playgroud)
我已将其发布为可供任何人访问的 Web 应用程序,然后输入此脚本 URL 作为 ejunkie 中的通用通知 URL。
我已经尝试了几个测试事务,但我在日志中没有得到任何信息。
有任何想法吗?预先感谢您的帮助。
这是有关此主题的ejunkie 文档。
不要使用 Logger.log() 作为通知自己呼叫是否接通的方式,而是尝试向自己发送电子邮件。这是片段:
function doPost(e) {
if(typeof e !== 'undefined')
MailApp.sendEmail({
to: "youremail@gmail.com",
subject: "Call Sucessful",
htmlBody: "I am your <br>" +
"DATA"
});
}
Run Code Online (Sandbox Code Playgroud)
如果需要的话,只需允许必要的许可即可。如果我没记错的话,Logger.log 仅适用于脚本编辑器,不适用于您的生产 Web 应用程序。
这是我用来将数据发布到我的工作表的代码:
function doPost(e) {
Logger.log("I was called")
if(typeof e !== 'undefined')
Logger.log(e.parameter);
var ss= SpreadsheetApp.openById("ID here")
var sheet = ss.getSheetByName("Sheet2")
sheet.getRange(1, 1).setValue(JSON.stringify(e))
return ContentService.createTextOutput(JSON.stringify(e))
}
Run Code Online (Sandbox Code Playgroud)
使用 curl 发出 post 请求并得到发送数据的回显!
| 归档时间: |
|
| 查看次数: |
19106 次 |
| 最近记录: |