我有一個WooCommerce Webhook,它希望我發送一個JSON到一個URL,我相信這是一個POST http請求。
我已經使用 Webhook.site 來測驗 Webhook,它顯示了正確的 JSON 有效載荷。
開發人員建議我使用云函式來接收 JSON,決議 JSON 并將其寫入 Cloud Firestore。
Firebase 的云函式或 Google 云平臺的云函式中是否有詳細說明這一程序的檔案?
我在 Cloud Firestore 檔案中沒有發現任何東西。
另一個可用的解決方案可能是將 Webhook JSON 發送到云存盤,但我也沒有設法讓它發揮作用。我認為我可能需要將認證整合到 HTTP 請求頭中,這樣才能成功。
參考資料和檔案。
"用云計算擴展云端防火墻 "是一個很好的例子。
"使用云功能擴展云 Firestore" https://firebase.google.com/docs/firestore/extend-with-functions
"云函式--HTTP函式" https://cloud.google.com/functions/docs/writing/http
uj5u.com熱心網友回復:
什么會觸發webhook?Firestore的觸發器在檔案被創建/修改/洗掉時起作用,而不是任何外部事件。你可能正在尋找(Firebase)通過HTTP請求呼叫函式(你也可以直接用Google Cloud Functions做同樣的事情)。你可以寫一個函式,如下圖所示:
exports.myWebhookFunction = functions. https.onRequest((req, res) => {
const webhookBody = req.body;
//span>決議資料。
//加入Firestore/Storage; //加入Firestore/Storage。
//終止功能。
});
當你部署這個函式時,你會得到一個URL(從CLI或儀表板中),你可以在你的WooCommerce webhook中設定一個webhook交付URL。
uj5u.com熱心網友回復:
經典的方法是使用HTTPS云函式,它將在下面的URL上暴露一個端點。https://<region>-<project-id>.cloudfunctions.net/<cloud-function-name>/code>
下面是一個代碼骨架,作為基礎:
// cloud-function-name = myWebhook
exports.myWebhook = functions.https.onRequest(async(req, res)=> {
const body = req.body; //body是一個JavaScript物件的陣列。
//獲得WooCommerce事件的細節,很可能來自body。
const updateObj = {...}
//寫給Firestore
await admin.firestore().collection('...'/span>).doc('...').set(updateObj) 。
return res.status(200).end()。
});
關于此類云功能的更多詳細資訊,請參見此官方視頻,包括如何管理錯誤并向呼叫者發回相應的 HTTP 代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/334293.html
標籤:
上一篇:如何使用ReactJs撰寫不含else的三元運算子?
下一篇:遞回函式:超出最大呼叫堆疊大小
