我在使用Google Sheets節點時遇到問題,非常希望能獲得一些見解。
我的設置:
我在公司VM/伺服器上運行n8n,使用我們自己的自訂網域。
我試圖使用OAuth2方法連接到Google Sheets。
我已正確配置Google Cloud Console、啟用Google Sheets API,並添加了重定向URL。我已多次仔細檢查這些設置,我的帳戶已成功連接。
在n8n內,身份驗證運作完美。連接帳戶時,我會收到綠色的「連接測試成功」訊息。
描述問題/錯誤/問題
儘管我的帳戶已完全連接並經過身份驗證,但每當我嘗試執行Google Sheets節點(例如,取得列)時,它會立即拋出此錯誤:節點「取得工作表中的列」發生問題
無法建立連接,這通常是由於不正確的主機(網域)值引起的。我在公司VM上運行此程式。有人可以幫助我嗎?
錯誤訊息是什麼(如果有的話)?
節點「取得工作表中的列」發生問題
無法建立連接,這通常
是由於不正確的主機(網域)值引起的
Hi @Mahoor_Jahanbani
由於這是公司 VM,您可能受到受限的網路存取。您需要聯繫您的網路或系統管理員,並提供以下要點:
-
DNS 解析檢查: 要求他們驗證 VM 是否可以解析外部網域。他們可以從 VM 終端機執行簡單命令來測試:ping sheets.googleapis.com 或 nslookup sheets.googleapis.com 如果這些命令失敗,則 VM 的 DNS 設定(例如 Linux 上的 /etc/resolv.conf)不正確或遭到封鎖。
-
防火牆白名單: 公司伺服器通常預設會封鎖出站流量。確保 VM 允許向以下位址發送出站 HTTPS 請求(連接埠 443):
sheets.googleapis.com
oauth2.googleapis.com
accounts.google.com
-
代理伺服器設定: 如果您的公司使用代理伺服器來存取網際網路,n8n 需要知道這一點。您需要在 n8n 設定中設定 HTTP_PROXY 和 HTTPS_PROXY 環境變數(例如在 Docker Compose 檔案或 VM 環境變數中)。
- 範例:
HTTPS_PROXY=http://proxy.yourcompany.com:8080
感謝您讓我們知道這件事,我們已經建立了 CV-8 作為內部開發工單來處理。
嗨 @Mahoor_Jahanbani 歡迎!
認證測試和「取得列」節點呼叫不同的主機:OAuth2 測試只會到達 Google 的權杖端點,而不是 sheets.googleapis.com,這是節點在執行時會存取的位置。在鎖定的虛擬機上通過認證測試並不能確認該主機是否可達。
開啟失敗的執行,按一下表單中的「取得列」節點,然後檢查其錯誤輸出中的原始訊息,它會顯示確切的主機和 DNS 失敗,例如「getaddrinfo ENOTFOUND sheets.googleapis.com」。將該確切的主機名稱提供給你的網絡管理員列入白名單,而不是猜測哪個網域被封鎖。
The connection cannot be established, this usually occurs due to an incorrect host (domain) value · Issue #18985 · n8n-io/n8n · GitHub
我們已經查看了這個問題,無法確認這是一個錯誤。目前我們已關閉內部票證,但如果看起來確實是一個錯誤,我們的審核團隊將再次標記它。