APIアクセス実装方法
Yahoo! ID連携ではウェブAPIアクセスにおいてOAuth2.0 Bearer Token Usageをサポートしており、以下の方法によりAccess Tokenを送信できます。
- AuthorizationヘッダーにAccess Tokenを含めて任意のHTTPメソッドで送信【推奨】
- URLクエリにAccess Tokenを含めてGETで送信
リクエスト
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
URLクエリ
クライアントアプリがウェブブラウザー(Javascript)で動作する場合など、HTTPヘッダーにAccess Tokenを含めて送信するのが難しい場合に適したウェブAPIリクエスト方式です。
以下のようにウェブAPIリクエストのクエリ部分にAccess Tokenを含めて、GETでHTTPリクエストを送信します。
GET /path/to/webEndPoint?access_token=[access_token]¶m=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 |
|
Access Tokenが空である、不正なフォーマットである、もしくは重複しています。 | クライアント側の実装方法が正しいか見直してください。 |
401 |
|
Access TokenAccess Tokenが有効期限切れ、もしくはその他の理由で無効になっています。 | クライアント側でRefresh Tokenを保持している場合は、動的にAccess Token更新を行ってください。 |
402 |
|
ユーザーにアクセス認可されていません。スコープ外のWeb APIへのアクセスです。 | アプリケーションで利用可能なスコープおよびscopeパラメーターに不足がないかご確認ください。 |
ウェブAPI固有のエラー
ウェブAPI固有のレスポンスについてはウェブAPIの仕様書を参照してください。
Yahoo! ID連携 v2
- Yahoo! ID連携とは
- ガイドラインを確認する
- Yahoo! JAPAN IDを取得する
- Client IDを登録する
- 各種フロー
- ネイティブアプリを開発
- 属性取得API(UserInfoAPI)
- ID Token
- JavaScript SDK
- PHP SDK
- Java SDK
- デザインガイドライン
- APIアクセス実装方法
- Yahoo! ID連携用語集
- FAQ