API 金鑰

Metabase 可以建立 API 金鑰,以驗證對 API 的程式化請求。若要設定 API 金鑰的權限,您可以將金鑰指派給群組

關於 Metabase API 的警告

我們不會對Metabase API進行版本控制。我們很少變更 API 端點,而且幾乎從不移除它們,但如果您編寫的程式碼依賴 API,則您將來可能需要更新程式碼。

也就是說,有時使用 API 會很方便,例如在管理大量人員和群組的權限、大量封存或內容建立時。因此,我們新增了建立 API 金鑰的功能,以驗證您的程式化請求。

建立 API 金鑰

若要建立 API 金鑰

  1. 按一下右上角的齒輪圖示。
  2. 選取管理設定
  3. 前往設定標籤。
  4. 按一下左側選單中的驗證標籤。
  5. 捲動至API 金鑰,然後按一下管理
  6. 按一下建立 API 金鑰按鈕。
  7. 輸入金鑰名稱。您可以擁有多個 API 金鑰,因此請為其命名,以協助您記住金鑰的用途。
  8. 選取群組。金鑰將具有授予該群組的相同權限。
  9. 按一下建立
  10. 複製產生的 API 金鑰,並將其儲存在安全的地方。Metabase 將無法再次向您顯示金鑰。如果您遺失金鑰,則需要重新產生新的金鑰。

管理 API 金鑰

若要檢視和管理現有的 API 金鑰

  1. 按一下右上角的齒輪圖示。
  2. 選取管理設定
  3. 前往設定標籤。
  4. 按一下左側選單中的驗證標籤。
  5. 捲動至API 金鑰,然後按一下管理

編輯 API 金鑰

若要編輯 API 金鑰,請捲動至您要編輯的金鑰,然後按一下鉛筆圖示。Metabase 將彈出編輯 API 金鑰模式,您可以在其中編輯

  • 金鑰的名稱
  • 金鑰所屬的群組。
  • 變更 (重新產生) 金鑰。Metabase 將以新的金鑰取代現有的 API 金鑰。您將無法復原舊的金鑰。

刪除 API 金鑰

您將無法復原已刪除的 API 金鑰。您必須建立新的金鑰。

若要刪除 API 金鑰

  1. 按一下右上角的齒輪圖示。
  2. 選取管理設定
  3. 前往設定標籤。
  4. 按一下左側選單中的驗證標籤。
  5. 捲動至API 金鑰,然後按一下管理
  6. 選取您要刪除的金鑰,然後按一下垃圾桶圖示。
  7. Metabase 將彈出刪除 API 金鑰模式。按一下刪除 API 金鑰按鈕。

Metabase 會將與已刪除群組相關聯的 API 金鑰轉移到「所有使用者」群組

如果您有指派給群組的 API 金鑰,但隨後有人刪除了該群組,則 API 金鑰仍可運作,但 Metabase 會將這些金鑰重新指派給「所有使用者」群組。如果您想要變更其群組,則需要手動編輯金鑰。

範例 GET 請求

以下是一些範例 GET 請求,它們會傳回您 Metabase 中的群組。這些範例假設您在本機預設連接埠 3000 上執行 Metabase。

curl 範例

YOUR_API_KEY 替換為您在上方產生的 API 金鑰。

curl \
-H 'x-api-key: YOUR_API_KEY' \
-X GET 'https://127.0.0.1:3000/api/permissions/group'

JavaScript 範例

假設您已將金鑰設定為環境變數,如下所示

export METABASE_API_KEY="YOUR_API_KEY"

以下是使用 fetch 取得群組清單的基本 GET 請求。您可以複製程式碼、將其儲存為檔案 (例如,api-test.js),然後使用 node api-test.js 執行程式碼。

// Assuming you've set the key in process with
// `export METABASE_API_KEY="YOUR_KEY_HERE"`
const API_KEY = process.env.METABASE_API_KEY;

const init = {
  headers: {
    "Content-Type": "application/json",
    "X-API-KEY": API_KEY,
  },
};

const host = "http://127.0.0.1:3000";

async function getGroups() {
  const response = await fetch(`${host}/api/permissions/group`, init);
  return response.json();
}

getGroups().then(groups => console.log("Groups in your Metabase:", groups));

延伸閱讀

閱讀其他Metabase 版本的文件。