描述問題/錯誤/問題
<
請分享您的工作流程
(選擇畫布上的節點,並使用鍵盤快捷鍵 CMD+C/CTRL+C 和 CMD+V/CTRL+V 來複製和貼上工作流程。)
分享最後一個節點返回的輸出
有關您的 n8n 設定的資訊
- n8n 版本:
- 資料庫(預設:SQLite):
- n8n EXECUTIONS_PROCESS 設定(預設:own, main):
- 透過以下方式執行 n8n(Docker、npm、n8n cloud、桌面應用程式):
- 作業系統:
好吧,你在這裡沒有提供太多資訊,但造成這個確切錯誤最常見的原因是你的回應格式——Meta 需要將 hub.challenge 以純文本形式傳回,而不是 JSON。所以檢查你的「回應至 Webhook」節點,並確保「回應方式」設定為「文本」而不是「JSON」,主體只是 {{$json.query["hub.challenge"]}} 且沒有任何東西包裝它。如果設定為 JSON,單單這一點就會導致此錯誤。
除此之外:確保你的工作流程是作用中的,並且使用生產環境 URL(而不是測試 URL,因為 Meta 不會監聽你點擊「測試事件」)。確保它設定為接受 GET。確保令牌完全匹配,沒有奇怪的空格或特殊字元。並檢查執行日誌,確保當 Meta 嘗試驗證時,你的節點實際上變成綠色。
但如果你已經確認了所有這些都沒問題,告訴我你的「回應方式」目前設定為什麼,以及你的「回應主體」表達式看起來如何,我可能能夠從那裡發現問題。
dSavage 涵蓋了主要的疑點。一個小補充:在你修正 Respond With 格式並重新測試後,當 Meta 的驗證啟動時,在「執行」標籤中即時觀看(篩選為「全部」而非僅「最新」)——如果執行瞬間完成後才重新整理,很容易錯過。如果你仍然在該處看不到任何內容,請重新檢查你在 Meta 中註冊的工作流程 URL 是否與生產 webhook URL 完全相符,包括末尾的斜線或缺少的斜線。
感謝你的回覆,我會查看你的建議
此致
敬礼
Stanley
這個錯誤通常發生在 Meta 嘗試向你的 n8n webhook 發送 GET 驗證挑戰,但 n8n 在握手過程中沒有回傳預期的 hub.challenge 權杖時。
以下是幾個快速檢查的事項:
驗證權杖匹配:
仔細檢查 Meta 儀表板中的「Verify Token」字串是否 100% 匹配(逐字符,區分大小寫)你的 n8n Trigger 節點/Webhook 節點內配置的權杖。
Trigger 節點設定:
如果你使用的是標準 Webhook 節點(而非官方 WhatsApp/Meta Trigger 節點),請確保該節點設定為處理驗證步驟的 GET 請求,並以文字形式回傳 {{ $json.query['hub.challenge'] }}。
如果你已驗證過這些項目但仍然失敗,歡迎貼上你的 n8n trigger 節點設定的螢幕截圖,或傳私訊給我——我可以直接幫你排除負載流程的問題!
確認工作流程已啟用,且呼叫者使用的是正式版 URL 而非臨時測試 URL。如果 n8n 位於代理伺服器後方,請檢查 WEBHOOK_URL 以及轉發的主機和協議標頭,因為不正確的公開基本 URL 可能會註冊錯誤的端點。