【发布时间】:2021-12-05 01:10:31
【问题描述】:
我已经建立了一个 woocommerce 网站,用于从我所在地区的不同餐厅送餐。我尝试设置将订单数据从 json 文件自动传输到我们的驱动程序使用的 Google 工作表,但我发现自己每次 woo 的 webhook 触发时都会在 Google Script 中遇到错误,并且无法检测到问题。
这是我的谷歌脚本代码
//this is a function that fires when the webapp receives a GET request
function doGet(e) {
return HtmlService.createHtmlOutput("request received");
}
//this is a function that fires when the webapp receives a POST request
function doPost(e) {
var myData = JSON.parse([e.postData.contents]);
var order_number = myData.number;
var order_address = myData.billing.address_1;
var item = ""
var url = "https://fivestars-delivery.com/mon-compte//driver-dashboard/?orderid=" + order_number;
for (var i = 0; i < myData.line_items.length(); ++i) {
item += myData.line_items[i].product_id + "\n"
total += parseInt(myData.line_items[i].total)
}
var fees = ""
// var feesTotal = 0
for (var i = 0; i < myData.fee_lines.length(); ++i) {
// convertir en entier
// feesTotal += parseInt(myData.fee_lines[i].total)
fees += myData.fee_lines[i].amount + " " + myData.fee_lines[i].name + " - " + myData.fee_lines[i].total + "\n"
}
var discount = myData.discount_total
// nom client
var nomClient = myData.first_name + " " + myData.last_name
var order_total = myData.total;
var payment_method = myData.payment_method_title;
var phone = myData.billing.phone
var note = myData.billing.address_2 + "\n" + myData.customer_note
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.appendRow([order_number, " ", " ", " ",order_address, " ", "Attente d'envoi",url, order_total, payment_method, nomClient, phone, note, item + fees + discount, ]);
}
-我使用 api 的密钥设置了 WooCommerce API 和 webhook
-在 webhook 中输入我的 web 应用程序的 URL 作为 delivery URL
我无法找出问题所在,我在网上找到的所有情况都没有找到任何帮助。
【问题讨论】:
-
您似乎可以使用 urlFetchApp 为带有示例帖子数据的 doget 生成 url。这样你就可以更频繁地运行它并且它会在你的控制之下。然后就像调试其他任何东西一样。
-
你能提供更多关于
errors in Google Script everytime woo's webhook fires的细节吗?你遇到什么样的错误?你在哪里遇到他们?
标签: javascript wordpress google-apps-script google-sheets woocommerce