認証
このドキュメントは、Tianji APIとの認証方法について、APIキーの取得、使用、管理を含めて詳細に説明します。
認証方法
Tianji APIはBearer Token認証を使用します。各APIリクエストのHTTPヘッダーにAPIキーを含める必要があります。
HTTPヘッダーフォーマット
Authorization: Bearer <YOUR_API_KEY>
APIキーの取得
- Tianjiインスタンスにログイン
- 右上のアバターをクリック
- APIキーセクションを見つける
- +ボタンをクリックして新しいAPIキーを作成
- APIキーに名前を付けて保存
APIキー管理
既存のキーの表示
APIキーセクションでは以下が表示されます:
- APIキーの名前/説明
- 作成日
- 最終使用時間
- 使用回数の統計
APIキーの削除
APIキーを無効にする場合:
- 削除したいAPIキーを見つける
- 削除ボタンをクリック
- 削除操作を確認
:::警告 注意 APIキーを削除すると、そのキーを使用しているすべてのアプリケーションはAPIにアクセスできなくなります。 :::
APIキーの使用
cURL例
curl -X GET "https://your-tianji-domain.com/open/global/config" \
-H "Authorization: Bearer <your_api_key_here>" \
-H "Content-Type: application/json"
JavaScript/Node.js例
const apiKey = '<your_api_key_here>';
const baseUrl = 'https://your-tianji-domain.com/open';
const headers = {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
};
// fetchを使用
const response = await fetch(`${baseUrl}/global/config`, {
method: 'GET',
headers: headers
});
// axiosを使用
const axios = require('axios');
const response = await axios.get(`${baseUrl}/global/config`, {
headers: headers
});
Python例
import requests
api_key = '<your_api_key_here>'
base_url = 'https://your-tianji-domain.com/open'
headers = {
'Authorization': f'Bearer {api_key}',
'Content-Type': 'application/json'
}
# requestsライブラリを使用
response = requests.get(f'{base_url}/global/config', headers=headers)
data = response.json()
PHP例
<?php
$apiKey = '<your_api_key_here>';
$baseUrl = 'https://your-tianji-domain.com/open';
$headers = [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $baseUrl . '/global/config');
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
?>
権限とスコープ
APIキーの権限
APIキーはその作成者のすべての権限を継承します。これには以下が含まれます:
- ユーザーのワークスペース内のすべてのデータへのアクセス
- ユーザーが許可されたすべての操作の実行
- ユーザーが作成したリソースの管理
ワークスペースアクセス
APIキーはユーザーが所属するワークスペースにのみアクセスできます。複数のワークスペースにアクセスする必要がある場合、ユーザーアカウントにそのワークスペースに対する適切な権限があることを確認してください。
エラーハンドリング
一般的な認証エラー
401 Unauthorized
{
"error": {
"code": "UNAUTHORIZED",
"message": "Authorization not provided"
}
}
原因:
- Authorizationヘッダーが提供されていない
- 不正なAPIキー形式
403 Forbidden
{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient access"
}
}
原因:
- 無効または削除されたAPIキー
- ユーザーがリクエストされたリソースにアクセスする権限がない
認証問題のデバッグ
- APIキーのフォーマットを確認:
Bearer token_here形式を使用していることを確認 - キーの有効性を確認:キーがまだTianjiのインターフェースに存在することを確認
- 権限を確認:ユーザーアカウントがターゲットリソースにアクセスする権限を持っていることを確 認
- 単純なエンドポイントをテスト:まず
/global/configのような公開エンドポイントをテストしてください