認証情報
OAuth 2.0 クライアント ID 0
| 名前 | 作成日 | タイプ | クライアント ID | 操作 |
|---|
Runtera API
OAuth 2.0 のアクセストークンで、Runtera の練習記録・体調・目標などを読み書きできます。アプリごとに使えるスコープ(権限)をここで設定します。
エンドポイント
すべてのリクエストに Authorization: Bearer <access_token> を付けます。
https://runtera.apis.shohs.net/v1クライアントごとのアクセス設定
「設定」から許可するスコープを変更できます。変更後、利用者は次回のログイン時にあらためて同意します。
| アプリ | 許可しているスコープ | 有効なトークン |
|---|
スコープ一覧
認可リクエストの scope にスペース区切りで指定します。
| スコープ | 種別 | できること |
|---|
使い方
認可コードをトークンに交換したあと、API を呼び出します。
1. 認可リクエスト(ブラウザ)
https://auth.shohs.net/auth/oauth2/authorize.php?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code&state=RANDOM&scope=openid+runtera.records.read+runtera.records.write
2. トークン交換(サーバー)
curl -X POST https://auth.shohs.net/auth/oauth2/token.php \ -d grant_type=authorization_code -d code=AUTH_CODE \ -d client_id=YOUR_CLIENT_ID -d client_secret=YOUR_CLIENT_SECRET \ -d redirect_uri=YOUR_REDIRECT_URI
レスポンスの scope に、利用者が実際に許可したスコープが入ります。アクセストークンの有効期間は1時間、refresh_token(30日)で更新できます。
curl -X POST https://auth.shohs.net/auth/oauth2/token.php \ -d grant_type=refresh_token -d refresh_token=REFRESH_TOKEN \ -d client_id=YOUR_CLIENT_ID -d client_secret=YOUR_CLIENT_SECRET
3. API を呼び出す
# 練習記録の取得 curl -H "Authorization: Bearer ACCESS_TOKEN" \ "https://runtera.apis.shohs.net/v1/records?from=2026-09-01&to=2026-09-30" # 練習記録の追加 curl -X POST -H "Authorization: Bearer ACCESS_TOKEN" -H "Content-Type: application/json" \ -d '{"records":[{"record_date":"2026-09-30","training_type":"ジョグ","distance_km":10,"duration_seconds":3600,"rpe":4,"memo":"朝ラン"}]}' \ "https://runtera.apis.shohs.net/v1/records" # 体調の登録(送った項目だけ更新。なければ作成) curl -X PUT -H "Authorization: Bearer ACCESS_TOKEN" -H "Content-Type: application/json" \ -d '{"weight":58.4,"sleep_start":"23:30","sleep_end":"06:30","fatigue_level":4}' \ "https://runtera.apis.shohs.net/v1/body-conditions/2026-09-30"
エンドポイント一覧
| メソッド | パス | 必要なスコープ |
|---|---|---|
| GET | /tokeninfo | (有効なトークンのみ) |
| GET | /me | runtera.profile.read |
| GET | /records ・ /records/{training_id} | runtera.records.read |
| POST / PUT / DELETE | /records ・ /records/{training_id} | runtera.records.write |
| GET | /body-conditions ・ /body-conditions/{YYYY-MM-DD} | runtera.conditions.read |
| PUT / DELETE | /body-conditions/{YYYY-MM-DD} | runtera.conditions.write |
| GET | /goals ・ /goals/{id} | runtera.goals.read |
| POST / PATCH / DELETE | /goals ・ /goals/{id} | runtera.goals.write |
| GET | /races | runtera.races.read |
一覧系は limit(最大200)・offset、日付で絞り込める API は from / to(YYYY-MM-DD)を指定できます。エラーは {"success":false,"error":"...","error_description":"..."} の形式で返ります。
概要
OAuth 2.0 プロジェクトの状態と最近のアクティビティを確認できます。
最近作成したアプリ
最新5件のOAuthクライアント
クイックスタート
OAuth 2.0を使い始める手順
ドキュメント
SHOHS OAuth 2.0 の基本的な使い方を確認できます。
1. クライアントを登録する
認証情報ページからOAuth 2.0 クライアントを作成し、アプリ名とリダイレクトURIを登録します。Client Secretは作成時に一度だけ表示されるため、安全に保管してください。
2. 認証フロー
アプリから認証開始URLへユーザーを誘導し、認可コードを受け取ったあとトークンエンドポイントでアクセストークンへ交換します。
GET /oauth2/authorize.php?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code&scope=openid+profile+email
Runtera のデータにアクセスするには、クライアントに許可したスコープを scope に追加します(例:scope=openid+runtera.records.read)。詳しくは「Runtera API」ページを参照してください。
POST /oauth2/token.php Content-Type: application/x-www-form-urlencoded grant_type=authorization_code&code=AUTH_CODE&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&redirect_uri=YOUR_REDIRECT_URI
3. Redirect URI
OAuthクライアントに登録したRedirect URIと、認証リクエストで指定するURIは一致している必要があります。
4. セキュリティ
- Client Secretはブラウザへ保存したり、Gitへコミットしたりしないでください。
- 本番環境ではHTTPSを使用してください。
- 認証フローにはstateやPKCEの利用を推奨します。
プロジェクト設定
コンソール上で表示するプロジェクト情報を管理します。
基本設定
変更はこのコンソールのプロジェクト設定へ反映されます。
プロジェクト情報
現在のアカウントとOAuth基盤の情報
—
SHOHS Identity Platform / OAuth 2.0