排解 404 錯誤

本指南可協助您排解 Looker 網頁或 Looker API 要求中的 404 錯誤。404 錯誤通常表示要求的資源不存在,或是使用者沒有存取權。

偵錯樹狀結構

請使用下列決策樹,開始排解 404 錯誤:

以下各節將進一步說明樹狀結構中的情境。

排解瀏覽器中的 404 錯誤

如果瀏覽器中的網頁顯示 404 錯誤,請按照本節的步驟操作。如果沒有,請查看「API 錯誤」一節。

檢查 JavaScript 控制台

首先,請檢查瀏覽器的 JavaScript 控制台,進一步瞭解錯誤。如要在 Google Chrome 中開啟 JavaScript 控制台,請按照下列步驟操作:

  1. 按一下三點圖示「更多」選單。
  2. 選取「更多工具」。
  3. 點按「開發人員工具」。
  4. 按一下「控制台」分頁標籤。

在錯誤清單中找出 404 錯誤,並找到對應的網址。

如果傳回 404 錯誤的網址不是 Looker 網址,則錯誤源自外部資源。如果要求網址屬於連線至 Looker 的自訂應用程式,請檢查應用程式的程式碼和記錄,排解錯誤。 Looker 支援團隊僅提供有限的外部資源問題支援。

如果網址是 Looker 網址,請繼續下一節。

檢查網址是否有錯字

檢查網址是否有常見錯字。例如:

  • Look 頁面的常見錯別字是 /look/123,正確語法為 /looks/123。
  • 資訊主頁網頁的常見錯字是 /dashboard/123,正確語法為 /dashboards/123。

在 LookML 中加入探索、Look 或資訊主頁的連結時,請務必先測試連結,確認語法正確無誤。

如果發現 LookML 產生的連結有錯字,請修正 LookML 中的錯字。如果發現 Looker 產生的網址有錯字 (例如在 UI 導覽元素中),請與支援團隊聯絡,要求在產品中修正網址。

排解 API 中的 404 錯誤

如果錯誤是 Looker API 呼叫的回應,請按照本節的步驟操作。

查看 API 端點說明文件

請查詢傳回 404 錯誤的 API 端點說明文件。舉例來說,create_sso_embed_url 端點的說明文件頁面是「建立已簽署的嵌入網址」。請檢查參數,確認您提供給 API 呼叫的參數正確無誤。

請確認要求動詞和路徑正確無誤。舉例來說,/api/4.0/embed/sso_url 端點應搭配 POST 動詞使用。

您也可以使用 API Explorer,直接在執行個體上測試 API 端點。

檢查必要的端點條件

部分端點僅適用於特定情況:

  • 部分 LookML 專案端點 (例如 create_project、deploy_to_production 和 reset_project_to_production) 僅適用於開發模式。
    • 如有需要,請使用 update_session 端點和要求主體 {"workspace_id": "dev"},將 API 工作階段切換為開發模式。
  • reset_project_to_production 端點不適用於共用分支。
  • 只有啟用進階部署模式,才能使用 deploy_ref_to_production 端點。

檢查 Webhook 設定

如果要求網址是部署 Webhook,請檢查 Webhook 設定。

如果您使用 Webhook 部署特定分支版本或參照,請在專案中啟用進階部署模式。

如果專案已啟用 Webhook 部署密鑰,請務必在要求中加入密鑰。

檢查要求的資源是否存在

確認要求中參照的所有資源確實存在於 Looker 執行個體。

確認請求網址和主體中的所有值 (例如資料夾 ID 或資訊主頁 ID) 都參照有效的現有資源。舉例來說,如要檢查資訊主頁是否存在,請以管理員身分前往 /dashboards/[id]。如果缺少資源或資源無效,請建立缺少的資源或指定現有資源。

如果資源存在,但您仍收到 404 錯誤,請檢查資源是否處於開發模式。如果 Looker 使用者擁有 develop 權限,請查看使用者進入開發模式時是否能存取資源。如果是 API 呼叫,請使用 update_session 端點和要求主體 {"workspace_id": "dev"},將 API 工作階段切換至開發模式。

如果使用者沒有 develop 權限,請嘗試將 LookML 專案部署至正式環境,然後檢查使用者是否可以存取該專案。

檢查使用者權限和內容存取權設定

如果資源存在,但使用者仍收到 404 錯誤,請檢查使用者的權限和內容存取權。

模擬使用者身分並檢查錯誤

如果您是管理員,請前往「管理員」>「使用者」面板,並模擬 (sudo) 發生 404 錯誤的使用者。

  • 如果使用者是嵌入使用者,請確認「管理」>「使用者」頁面上的嵌入認證與嵌入登入網址中的 external_user_id 相符。
  • 如果使用者要進行 API 呼叫,請使用 login_user 端點模擬使用者。

如果您模擬使用者時出現 404 錯誤,但以管理員身分查看資源時沒有,則使用者可能沒有足夠的權限或內容存取權設定。

檢查必要權限

請在「管理」>「使用者」面板中檢查使用者的角色,並查看 Looker 權限清單,確認使用者至少有一個角色具備必要權限。舉例來說,如要查看資訊主頁,使用者至少需要 access data、see_looks 和 see_user_dashboards 權限。如果使用者缺少必要權限,請在指派給該使用者的角色中,將這些權限新增至權限集。

如果任何必要權限是模型專屬,請確認 LookML 模型已納入至少一個使用者角色的模型集,且該角色具備必要權限。如果沒有,請將模型新增至指派給使用者的其中一個角色模型集。

檢查有效的嵌入權限

如果使用者是已簽署的嵌入使用者,請檢查必要權限是否為有效的嵌入權限。如果不是,嵌入使用者就無法順利提出要求。舉例來說,您無法將 see_lookml 權限指派給嵌入使用者。

檢查存取權授予

如果內容是以定義的「探索」required_access_grants 為依據,請檢查 LookML 專案中的 access_grant 定義。將指定使用者屬性的使用者屬性值編輯為存取權授權中的必要值。

檢查內容存取權

如果要求的資源儲存在資料夾中,請檢查該資料夾的內容存取權。Look 圖表、資訊主頁和數據分析報表都儲存在資料夾中。

最終檢查和支援

如果仍發生 404 錯誤,請查看這個頁面的疑難排解步驟。如果仍無法解決 404 錯誤,請與支援團隊聯絡。