トークンが取得できない(認証エラー)
トラブル
トークン
認証
OAuth
事象
OAuth トークンエンドポイント(
OAuth トークンエンドポイント(
/oauth/token)が4xxを返し、アクセストークンが取得できない。
主なエラーと対処
| error | 原因 | 対処 |
|---|---|---|
invalid_client | クライアントID/シークレットが間違い | 開発者ポータルで確認、再生成検討 |
invalid_grant | 認可コードが期限切れ・使用済み・無効 | 認可フローからやり直し |
redirect_uri_mismatch | 登録済みURIと一致しない | 大文字小文字・末尾スラッシュ・ポートまで一致確認 |
invalid_scope | 要求スコープがアプリに許可されていない | アプリ設定でスコープを確認 |
unauthorized_client | アプリが該当のグラントタイプを使えない | アプリタイプ設定を確認 |
unsupported_grant_type | grant_type パラメータが不正 | authorization_code または refresh_token |
切り分けチェックリスト
- ☐ クライアントID・シークレットが本番/開発で取り違えていないか
- ☐ シークレットを直近で再生成していないか
- ☐ 認可コードを取得してから10分以内に交換しているか
- ☐ 同じ認可コードを2回使おうとしていないか
- ☐
redirect_uriが認可リクエスト時と完全一致しているか - ☐
Content-Type: application/x-www-form-urlencodedになっているか - ☐ パラメータがクエリではなくボディに入っているか
よくあるミス
JSON で送ってしまっている
OAuth トークンエンドポイントは application/x-www-form-urlencoded 必須です。JSON を送ると invalid_request になります。
Basic 認証と body のクライアント情報を二重に送っている
どちらか一方に統一してください。両方送ると invalid_request になることがあります。
シークレットの URL エンコード忘れ
シークレットに記号が含まれる場合は URL エンコードが必要です。
関連ガイド
公開日: 2026-04-27
更新日: 2026-04-27
カテゴリ
タグ
API (8)
Webhook (8)
api (6)
oauth (5)
トラブル (5)
OAuth (4)
getting-started (4)
アプリ登録 (4)
app-registration (3)
webhook (3)
関連記事
-
プランがフリーのまま開発者ポータルが表示されないレシートローラーの開発者ポータルが表示されない場合の確認手順。プランがフリーの場合の対処方法、組織切り替え、表示反映タイミングを解説します。
-
403/401が返る(権限・スコープ)API呼び出しで401や403が返るときの原因切り分け。トークン無効・スコープ不足・店舗アクセス権なし・User系審査未通過などの典型ケースを解説します。
-
Webhookが届かないWebhookが受信エンドポイントに届かないときの原因切り分け。エンドポイント設定・購読イベント・到達性・署名検証失敗・ファイアウォールなどを順に確認する手順を解説します。
-
User系スコープでapp_not_approvedが返るUser系スコープを使うとapp_not_approvedエラーが返る場合の確認手順。サンドボックス枠での開発、審査申請、サンドボックス本番化の流れを解説します。