API 金鑰
Metabase 可以建立 API 金鑰,以驗證對 API 的程式化請求。若要設定 API 金鑰的權限,您可以將金鑰指派給群組。
關於 Metabase API 的警告
我們不會對Metabase API進行版本控制。我們很少變更 API 端點,而且幾乎從不移除它們,但如果您編寫的程式碼依賴 API,則您將來可能需要更新程式碼。
也就是說,有時使用 API 會很方便,例如在管理大量人員和群組的權限、大量封存或內容建立時。因此,我們新增了建立 API 金鑰的功能,以驗證您的程式化請求。
建立 API 金鑰
若要建立 API 金鑰
- 按一下右上角的齒輪圖示。
- 選取管理設定。
- 前往設定標籤。
- 按一下左側選單中的驗證標籤。
- 捲動至API 金鑰,然後按一下管理。
- 按一下建立 API 金鑰按鈕。
- 輸入金鑰名稱。您可以擁有多個 API 金鑰,因此請為其命名,以協助您記住金鑰的用途。
- 選取群組。金鑰將具有授予該群組的相同權限。
- 按一下建立。
- 複製產生的 API 金鑰,並將其儲存在安全的地方。Metabase 將無法再次向您顯示金鑰。如果您遺失金鑰,則需要重新產生新的金鑰。
管理 API 金鑰
若要檢視和管理現有的 API 金鑰
- 按一下右上角的齒輪圖示。
- 選取管理設定。
- 前往設定標籤。
- 按一下左側選單中的驗證標籤。
- 捲動至API 金鑰,然後按一下管理。
編輯 API 金鑰
若要編輯 API 金鑰,請捲動至您要編輯的金鑰,然後按一下鉛筆圖示。Metabase 將彈出編輯 API 金鑰模式,您可以在其中編輯
- 金鑰的名稱
- 金鑰所屬的群組。
- 變更 (重新產生) 金鑰。Metabase 將以新的金鑰取代現有的 API 金鑰。您將無法復原舊的金鑰。
刪除 API 金鑰
您將無法復原已刪除的 API 金鑰。您必須建立新的金鑰。
若要刪除 API 金鑰
- 按一下右上角的齒輪圖示。
- 選取管理設定。
- 前往設定標籤。
- 按一下左側選單中的驗證標籤。
- 捲動至API 金鑰,然後按一下管理。
- 選取您要刪除的金鑰,然後按一下垃圾桶圖示。
- 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 版本的文件。