APIアクセス実装方法

Yahoo! ID連携ではウェブAPIアクセスにおいてOAuth2.0 Bearer Token Usageをサポートしており、以下の方法によりAccess Tokenを送信できます。

  • AuthorizationヘッダーにAccess Tokenを含めて任意のHTTPメソッドで送信【推奨】
  • リクエストボディにAccess Tokenを含めてPOSTで送信
  • URLクエリにAccess Tokenを含めてGETで送信

  • ※2022/9/1以降、リクエストボディのパラメーターとしてAccess Tokenを含めてPOSTで送信することはできなくなります。リクエストヘッダー内にて、Authorizationフィールドとしてご指定ください。

リクエスト

Authorizationヘッダー

Access TokenをHTTPヘッダーに含む形で送信するので、GET/POST/PUTなど任意のHTTPメソッドでもリクエストが送信でき、Access TokenとウェブAPI固有のパラメータ分離できるのが特徴です。特別な理由がないかぎりAuthorizationヘッダーを使ったウェブAPIリクエスト方式を推奨します。

以下のように、AuthorizationヘッダーにAccess Tokenを含めてHTTPリクエストを送信します。

POST /path/to/webEndPoint?param=var HTTP/1.1
Host: xxxxxx.yahooapis.jp
Authorization: Bearer [access_token]

サンプルリクエスト

POST /yconnect/v2/attribute HTTP/1.1
Host: userinfo.yahooapis.jp
Authorization: Bearer SlAV32hkKG 

リクエストボディ

※2022/9/1以降、リクエストボディのパラメーターとしてAccess Tokenを含めてPOSTで送信することはできなくなります。リクエストヘッダー内にて、Authorizationフィールドとしてご指定ください。

URLクエリ

クライアントアプリがウェブブラウザー(Javascript)で動作する場合など、HTTPヘッダーにAccess Tokenを含めて送信するのが難しい場合に適したウェブAPIリクエスト方式です。

以下のようにウェブAPIリクエストのクエリ部分にAccess Tokenを含めて、GETでHTTPリクエストを送信します。

GET /path/to/webEndPoint?access_token=[access_token]&param=var
Host: xxxxx.yahooapis.jp

サンプルリクエスト

GET /yconnect/v2/attribute?access_token=SlAV32hkKG HTTP/1.1
Host: userinfo.yahooapis.jp

エラーレスポンス

ユーザー認証エラー

ユーザー認証に関連するエラーレスポンスはWWW-Authenticateヘッダーで返却されます。

HTTP
ステータス
WWW-Authenticate
ヘッダー内のパラメータ
説明 クライアント側のエラーハンドリング方法
400
error="invalid_request"
Access Tokenが空である、不正なフォーマットである、もしくは重複しています。 クライアント側の実装方法が正しいか見直してください。
401
error="invalid_token"
Access TokenAccess Tokenが有効期限切れ、もしくはその他の理由で無効になっています。 クライアント側でRefresh Tokenを保持している場合は、動的にAccess Token更新を行ってください。
402
error="insufficient_scope"
ユーザーにアクセス認可されていません。スコープ外のWeb APIへのアクセスです。 アプリケーションで利用可能なスコープおよびscopeパラメーターに不足がないかご確認ください。

ウェブAPI固有のエラー

ウェブAPI固有のレスポンスについてはウェブAPIの仕様書を参照してください。

アプリケーションの管理

Yahoo! ID連携 v2

開発のヒント