Yahoo! ID連携
APIアクセス実装方法
Yahoo! ID連携ではウェブAPIアクセスにおいてOAuth2.0 Bearer Token Usageをサポートしており、以下3とおりの方法によりAccess Tokenを送信できます。
- AuthorizationヘッダーにAccess Tokenを含めて任意のHTTPメソッドで送信【推奨】
- リクエストボディにAccess Tokenを含めてPOSTで送信
- URLクエリにAccess Tokenを含めてGETで送信
リクエスト
Authorizationヘッダー
- Access TokenをHTTPヘッダーに含む形で送信するので、GET/POST/PUTなど任意のHTTPメソッドでもリクエストが送信でき、Access TokenとウェブAPI固有のパラメータ分離できるのが特徴です。特別な理由がないかぎりAuthorizationヘッダーを使ったウェブAPIリクエスト方式を推奨します。
- 以下のように、AuthorizationヘッダーにAccess Tokenを含めてHTTPリクエストを送信します。
GET /path/to/webEndPoint?param=var HTTP/1.1 Host: xxxxxx.yahooapis.jp Authorization: Bearer ‹access_token›
- サンプルリクエスト
GET /yconnect/v2/attribute?access_token=SlAV32hkKG HTTP/1.1 Host: userinfo.yahooapis.jp
リクエストボディ
- クライアントアプリがウェブブラウザー(Javascript)で動作する場合など、HTTPヘッダーにAccess Tokenを含めて送信するのが難しい場合に適したウェブAPIリクエスト方式です。
- 以下のようにウェブAPIリクエストのボディ部分にAccess Tokenを含めて、POSTでHTTPリクエストを送信します。
POST /path/to/webEndPoint HTTP/1.1 Host: xxxxx.yahooapis.jp Content-Type: application/x-www-form-urlencoded param=var&access_token=‹access_token›
- サンプルリクエスト
GET /yconnect/v2/attribute?access_token=SlAV32hkKG HTTP/1.1 Host: userinfo.yahooapis.jp
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 | 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!知恵袋で調べる
- やりたいこと Yahoo属性取得APIを使って、ユーザー情報を取得したい。 取得したい...
- C#でYahooID連携を使いたいと思っています。 PHPやJAVAのSDKが提供されていますが...
- Yahoo!ID連携にてAPIをたたいてユーザー情報を取得しようと思っているのですが、エ...
- PHPについてです。use ってどういった意味でしょうか? require("autoload.php"); ...
- YConnectについて教えてください。 アプリ開発者側ではなく 一般人が このシステム...
- YConnectについて教えてください。よろしくお願いします。
- Yahoo知恵袋にAPIを用いた投稿に関する質問です。 YConnectにてアクセストークンの...
- YConnect認証後に得られるアクセストークンを使ってphpで知恵袋APIを叩いているサ...
- yconnectを利用してマイ・オークション(出品中)の取得をしたいのですが401が...
- YConnect を利用して、ログインユーザーのYahooIDは取得できないのですか?