排解 404 錯誤

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

偵錯樹狀結構

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

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

排解瀏覽器中的 404 錯誤

如果瀏覽器中的網頁顯示 404 錯誤,請按照本節的步驟操作。如果不是,請參閱「API 錯誤」一節。

檢查 JavaScript 控制台

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

  1. 按一下三點圖示「更多」選單。
  2. 選取「更多工具」
  3. 點按「Developer Tools」(開發人員工具)。
  4. 按一下「Console」分頁標籤。

在錯誤清單中找出 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_projectdeploy_to_productionreset_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 datasee_lookssee_user_dashboards 權限。如果使用者沒有所需權限,請在指派給該使用者的角色中,將這些權限新增至權限集。

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

檢查有效的嵌入權限

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

檢查存取權授予

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

檢查內容存取權

如果要求的資源儲存在資料夾中,請檢查該資料夾的內容存取設定。Look 圖表、資訊主頁和 Looker Studio 報表都會儲存在資料夾中。

最終檢查和支援

如果 404 錯誤仍持續發生,請參閱本頁的疑難排解步驟。如果仍無法解決 404 錯誤,請與支援團隊聯絡