描述問題/錯誤/疑問
大家好,
我正在嘗試在 n8n 中連接 Google 試算表。
我在 Google Sheets 節點的「文件」欄位中貼上了試算表 ID(Google Sheets URL 中「/d/」和「/edit」之間的部分)。
但是,當我執行工作流程時,它失敗並顯示:
「無法載入清單」
完整的錯誤訊息為:
「使用 RS256 時 SecretOrPrivateKey 必須是非對稱金鑰」
這可能是什麼原因?
我在 n8n 中使用 Google Sheets 認證。我的服務帳戶認證、私密金鑰或驗證設定有問題嗎?
非常感謝您的幫助。
請分享您的工作流程
(選擇畫布上的節點,並使用鍵盤快捷鍵 CMD+C/CTRL+C 和 CMD+V/CTRL+V 複製並貼上工作流程。)
分享最後一個節點返回的輸出
關於您的 n8n 設定的資訊
- n8n 版本:
- 資料庫(預設值:SQLite):
- n8n EXECUTIONS_PROCESS 設定(預設值:own, main):
- 透過以下方式執行 n8n(Docker、npm、n8n cloud、桌面應用程式):
- 作業系統:
Hi @Rudra_Bhattacharjee
這個錯誤表示你的服務帳戶私密金鑰在貼到 n8n 時遺失了換行符號。金鑰中的 \n 字元對於有效的 PEM 格式是必要的。
當你從 Google 服務帳戶 JSON 檔案複製 private_key 時,請將其原封不動地貼到 n8n 憑證欄位中。請勿從私密金鑰中移除 \n。金鑰應以 -----BEGIN PRIVATE KEY----- 開頭,並以 -----END PRIVATE KEY----- 結尾,行段之間應有 \n 字元。
如果你已經移除了換行符號,請從 Google Cloud Console 重新下載新的 JSON 金鑰,並貼上 private_key 值而不修改它。
同時確保你已與服務帳戶電子郵件地址共用你的 Google Sheet(JSON 檔案中的 client_email),否則接下來會遇到權限錯誤。
告訴我它是否有效 
Hi @Rudra_Bhattacharjee
你看到的錯誤實際上不是由你貼上的試算表 ID 引起的,而是由認證部分中私鑰的格式引起的。基本上,n8n 試圖用你的金鑰來證明你的身分,但它無法將該文字識別為有效的安全金鑰,所以在甚至嘗試開啟你的試算表之前就停止了該過程。
這通常發生是因為 Google 提供的私鑰格式使用 \n 字元來代表新行。如果你將金鑰貼成一長串文字,n8n 會將這些 \n 字元讀取為字面文字,而不是實際的換行。安全系統要正常運作,金鑰必須是一個實際的文字區塊,行與行之間有真正的分隔。
若要修正此問題,請返回你的認證並尋找 Private Key 欄位右側的小型「展開」或「視窗」圖示。點擊它以開啟多行編輯器,然後在那裡貼上你的金鑰。確保它看起來像一個整潔的文字區塊,開頭為 -----BEGIN PRIVATE KEY-----,結尾為 -----END PRIVATE KEY-----,沒有可見的字面 \n 字元。
連線測試變成綠色後,還有兩個最後的步驟來確保它確實有效。首先,你必須與服務帳戶的電子郵件地址(以 .gserviceaccount.com 結尾的地址)共用你的 Google 試算表,就像與同事共用一樣。其次,確保在你的 Google Cloud 控制台中啟用了 Google Sheets 和 Google Drive API。