認証
JRDB-APIを利用するには、2つの認証情報が必要です。
認証の仕組み
1
APIキー(アプリ共通)
クエリパラメータ ?api_key= に指定
- ・クエリパラメータで送信
- ・全ユーザー共通
- ・ダッシュボードで確認
2
認証キー (x-user-key)
HTTP ヘッダー x-user-key に指定
- ・HTTPヘッダーで送信
- ・ユーザーごとに異なる
- ・絶対に公開しない
1. APIキー(api_key)
概要
APIキーは、JRDB-APIサービスを利用するためのアプリケーション識別子です。 すべてのAPIリクエストに必須で、クエリパラメータとして送信します。
取得方法
- ダッシュボードにログイン
- 「APIキー(API_KEY)」セクションに表示されています
- 「コピー」ボタンでクリップボードにコピー
送信方法
クエリパラメータ api_key として送信します。
GET https://dev.api.bigtime.world/v1/tky?api_key=API_KEY2. 認証キー(x-user-key)
概要
認証キーは、ユーザー固有の秘密鍵です。APIの利用権限を確認するために使用します。 プランを契約すると発行され、ダッシュボードで確認できます。
取得方法
- ダッシュボードにログイン
- 「認証キー (x-user-key)」セクションで 👁 アイコンを押して値を表示
- 「コピー」ボタンでクリップボードにコピー
送信方法
HTTPヘッダー x-user-key として送信します。
x-user-key: YOUR_AUTH_KEYセキュリティ上の注意
- 認証キーは秘密情報です。絶対に他人と共有しないでください。
- GitHubなどの公開リポジトリにコミットしないでください。
- 環境変数やシークレット管理サービスでの管理を推奨します。
- クライアントサイド(ブラウザ)での使用は避けてください。
完全なリクエスト例
cURL
curl -X POST "https://dev.api.bigtime.world/v1/tky?api_key=API_KEY" \
-H "Content-Type: application/json" \
-H "x-user-key: YOUR_AUTH_KEY" \
-d '{"racedate": "20250105"}'事前準備: .env ファイルを作成
Python / Node.js のサンプルは .env から認証情報を読み込みます。 プロジェクトルートに .env を作成し、ダッシュボードの値を貼り付けてください。
# .env (プロジェクトルートに配置 / .gitignore に追加) JRDB_API_KEY=ダッシュボードのAPIキー(アプリ共通) JRDB_AUTH_KEY=ダッシュボードの認証キー (x-user-key)
- Python:
pip install python-dotenv→ サンプルの冒頭でfrom dotenv import load_dotenv; load_dotenv()を追加 - Node.js 20+: 起動時に
node --env-file=.env app.js(20 未満はnpm i dotenv+require('dotenv').config()) .envは必ず.gitignoreに追加してください
Python
import os
import requests
from dotenv import load_dotenv
load_dotenv() # .env から JRDB_API_KEY / JRDB_AUTH_KEY を読み込み
API_KEY = os.environ["JRDB_API_KEY"]
AUTH_KEY = os.environ["JRDB_AUTH_KEY"]
url = "https://dev.api.bigtime.world/v1/tky"
params = {"api_key": API_KEY}
headers = {
"Content-Type": "application/json",
"x-user-key": AUTH_KEY
}
payload = {"racedate": "20250105"}
response = requests.post(url, params=params, headers=headers, json=payload)
data = response.json()
print(data)JavaScript (Node.js)
起動例: node --env-file=.env app.js(Node.js 20+ の場合)
// process.env.JRDB_API_KEY / JRDB_AUTH_KEY は .env から読み込み
const API_KEY = process.env.JRDB_API_KEY;
const AUTH_KEY = process.env.JRDB_AUTH_KEY;
const url = "https://dev.api.bigtime.world/v1/tky?api_key=" + API_KEY;
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-user-key": AUTH_KEY
},
body: JSON.stringify({ racedate: "20250105" })
});
const data = await response.json();
console.log(data);認証エラー
| ステータス | 原因 | 対処法 |
|---|---|---|
401 | APIキーまたは認証キーが不正、または未設定 | ダッシュボードで正しいキーを確認し、再設定してください |
403 | プラン未契約、または有効期限切れ | プランを契約するか、更新してください |
429 | レート制限超過 | リクエスト間隔を空けてリトライしてください |
エラーレスポンス例
{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing authentication credentials"
}
}ベストプラクティス
1. 環境変数を使用する
認証情報はコードに直接書かず、環境変数で管理してください。
export JRDB_API_KEY="API_KEY"
export JRDB_AUTH_KEY="YOUR_AUTH_KEY"2. .gitignore に追加
環境変数ファイル(.env)は必ず .gitignore に追加してください。
3. サーバーサイドで使用
認証キーはサーバーサイド(バックエンド)でのみ使用してください。 クライアントサイド(ブラウザ)から直接APIを呼び出すと、認証キーが漏洩するリスクがあります。
4. エラーハンドリング
401/403エラー時は、認証情報の再確認とリトライロジックを実装してください。