属性取得API(UserInfoAPI)
【利用方法】
属性取得API(UserInfoAPI)を利用するには審査が必要となります。
利用を希望される場合は以下のフォームからお申し込みください。
申し込みフォーム
※ 申請にはClient IDが必要となりますので、アプリケーションの管理画面から事前にご確認をお願いします
UserInfo APIは、Yahoo! JAPAN ID に登録されているユーザーの属性情報を取得できる属性情報取得APIです。レスポンスはAuthorizationエンドポイントにて指定したscopeパラメータによって変化します。事前に必要な属性に対応するscopeを指定して、ユーザーに同意をとるようにしてください。
ウェブAPI共通で利用するAccess Tokenのリクエスト方法およびエラーレスポンスの仕様については、APIアクセス実装方法を参照してください。
また、属性取得APIの利用には、Client IDに必ず「属性取得API(デフォルト情報)」のscopeが登録されている必要があります。
アプリケーションの詳細画面「利用するスコープ」に、「属性取得API(デフォルト情報)」が設定されているか確認してください。
なお、上記設定で取得できる情報は、レスポンスパラメーターの概要欄に「※」がない情報です。
リクエスト
URL: https://userinfo.yahooapis.jp/yconnect/v2/attribute
サポートするHTTPメソッド: POST/GET
リクエストヘッダー
フィールド名 | 必須 | 説明 | 入力値(サンプル) |
---|---|---|---|
Authorization | ※ | Access Tokenの文字列を指定してください。(Bearer Token形式) ※リクエストパラメーターのAccess Tokenを利用しない場合には必須 |
Bearer SlAV32hkKG |
リクエストパラメーター
パラメーター | 必須 | 説明 | 入力値(サンプル) |
---|---|---|---|
access_token | ※ | Access Tokenの文字列を指定してください。(GETクエリ形式) ※Authorizationヘッダーを利用しない場合には必須 |
SlAV32hkKG |
callback | JSONPのコールバック関数 callbackが指定されている場合はレスポンスをJSONPで返却 |
success |
サンプルリクエスト
Bearer Token形式(Authorization Header)
GET /yconnect/v2/attribute HTTP/1.1 Host: userinfo.yahooapis.jp Authorization: Bearer SlAV32hkKG
GETクエリ形式
GET /yconnect/v2/attribute?access_token=SlAV32hkKG HTTP/1.1 Host: userinfo.yahooapis.jp
レスポンス
HTTPコード
200
正常系
パラメーター | 概要 | 対応するscope | 備考 | |
---|---|---|---|---|
sub | ユーザー識別子 | openid |
ユーザー識別子を返却します。 ※本項目以外のパラメータをユーザ識別に利用しないでください。 入力値(GUID サンプル) "KVNE5DZLWIY4Y57TRDLURJOOEU" 入力値(PPID サンプル) "xHOs7gRnw2kq6Nd2nMDYg0aAwxLbZmJky4OMrA8v4-7EYZZS00" | |
name | 姓名※ | profile |
ユーザーが登録している姓名を返却します。 入力値(サンプル) "矢風太郎" | |
given_name | 名※ | profile |
ユーザーが登録している名のみを返却します。 入力値(サンプル) "太郎" | |
given_name#ja-Kana-JP | カナ名※ | profile |
ユーザーが登録している名のヨミガナを返却します。 入力値(サンプル) "タロウ" | |
given_name#ja-Hani-JP | 漢字名※ | profile |
ユーザーが登録している名の漢字を返却します。 入力値(サンプル) "太郎" | |
family_name | 姓※ | profile |
ユーザーが登録している姓のみを返却します。 入力値(サンプル) "矢風" | |
family_name#ja-Kana-JP | カナ姓※ | profile |
ユーザーが登録している姓のヨミガナを返却します。 入力値(サンプル) "ヤフウ" | |
family_name#ja-Hani-JP | 漢字姓※ | profile |
ユーザーが登録している姓の漢字を返却します。 入力値(サンプル) "矢風" | |
gender | 性別 | profile |
ユーザーが登録している性別を返却します。 男性はmale、女性はfemaleを返却します。 性別を「その他」および「回答しない」を選択している場合は、パラメーター(カラム)自体返却されません。 入力値(サンプル) "male" | |
zoneinfo | Asia/Tokyo固定 | profile |
Asia/Tokyoの固定値を返却します。 入力値(サンプル) "Asia/Tokyo" | |
locale | ja-JP固定 | profile |
ja-JPの固定値を返却します。 入力値(サンプル) "ja-JP" | |
birthdate | 生年 | profile |
ユーザーが登録している生年月日の生年のみを4桁で返却します。 入力値(サンプル) "1986" | |
nickname | 表示名 | profile |
ユーザーが任意で登録している表示名を返却します。 ※ユニークな識別子ではありません。 ※現在は固定値でのレスポンスとなります。 入力値(サンプル) "やふうたろう" | |
picture | プロフィール画像URL | profile |
ユーザーが任意で登録しているプロフィール画像を返却します。 ※現在は固定値でのレスポンスとなります。 入力値(サンプル) "https://dummy.img.yahoo.co.jp/example.png" | |
メールアドレス※ |
メインに設定しているメールアドレスを返却します。 ※本項目はユニークではありません。異なるユーザーで同一のメールアドレスを 登録されている場合もあるため、ユーザー識別子としては利用できません。 入力値(サンプル) "yconnect@example.com" | |||
email_verified | メールアドレス確認済みステータス※ |
emailで返却したメールアドレスが登録メールアドレスである場合は、確認済かどうかをtrue/falseで返却します。 Yahoo!メールアドレス(@yahoo.co.jp)の場合は、受信できる状態かどうかをtrue/falseで返却します。 入力値(サンプル) "true" | ||
address | country | 国コード | address |
2文字の国コードを返却します。 入力値(サンプル) "JP" |
address | postal_code | 郵便番号 | address |
ユーザーが登録している郵便番号を返却します。 入力値(サンプル) "1028282" |
address | region | 都道府県 | address |
ユーザーが登録している都道府県を返却します。 入力値(サンプル) "東京都" |
address | locality | 市区町村 | address |
ユーザーが登録している市区町村を返却します。 入力値(サンプル) "千代田区" |
address | formatted | 都道府県 + 市区町村 | address |
お客様登録済みの住所情報のセットを返却します。 入力値(サンプル) "東京都千代田区" |
・ユーザーが未登録のデータについてはパラメーター(カラム)自体返却されません。
・概要欄に「※」がある情報を取得する場合は、下記対応が必要です。
・ メールアドレス情報取得の場合:アプリケーションの詳細画面内の利用するスコープに「メールアドレス」の設定がある
・ 姓名、カナなどの情報取得の場合:アプリケーションの詳細画面内の利用するスコープに「姓名・生年・性別」の設定がある
・ アプリケーション詳細画面にて、プライバシーポリシーURL、利用規約URLの登録が必要です。アプリケーション詳細画面より開発するWebサイトまたはアプリケーションのプライバシーポリシーURL、利用規約URLの登録ください。
レスポンスサンプル
通常レスポンス
HTTP/1.1 200 OK
Content-Type: application/json
{
"sub": "FQBSQOIDGW5PV4NHAAUY7BWAMU",
"name": "矢風太郎",
"given_name": "太郎",
"given_name#ja-Kana-JP": "タロウ",
"given_name#ja-Hani-JP": "太郎",
"family_name": "矢風",
"family_name#ja-Kana-JP": "ヤフウ",
"family_name#ja-Hani-JP": "矢風",
"gender": "male",
"zoneinfo": "Asia/Tokyo",
"locale": "ja-JP",
"birthdate": "1986",
"nickname": "やふうたろう",
"picture": "https://dummy.img.yahoo.co.jp/example.png",
"email": "yconnect@example.com",
"email_verified": "true",
"address": {
"country": "JP",
"postal_code": "1028282",
"region": "東京都",
"locality": "千代田区",
"formatted": "東京都千代田区"
}
}
JSONPレスポンス
HTTP/1.1 200 OK
Content-Type: text/javascript
/* Anti CVE-2014-4671 */
{
"sub": "FQBSQOIDGW5PV4NHAAUY7BWAMU",
"name": "矢風太郎",
"given_name": "太郎",
"given_name#ja-Kana-JP": "タロウ",
"given_name#ja-Hani-JP": "太郎",
"family_name": "矢風",
"family_name#ja-Kana-JP": "ヤフウ",
"family_name#ja-Hani-JP": "矢風",
"gender": "male",
"zoneinfo": "Asia/Tokyo",
"locale": "ja-JP",
"birthdate": "1986",
"nickname": "やふうたろう",
"picture": "https://dummy.img.yahoo.co.jp/example.png",
"email": "yconnect@example.com",
"email_verified": "true",
"address": {
"country": "JP",
"postal_code": "1028282",
"region": "東京都",
"locality": "千代田区",
"formatted": "東京都千代田区"
}
}
エラーレスポンス
レスポンスヘッダー
フィールド名 | 必須 | 説明 | 入力値(サンプル) |
---|---|---|---|
WWW-Authenticate | ※ | Access Tokenの不正な値や有効期限切れ時に返却される errorとerror_descriptionを返却 ※JSONPのときはフィールドは存在しません |
パラメーター
パラメーター名 | 必須 | 説明 | 入力値(サンプル) |
---|---|---|---|
error | ○ | エラーコード | "invalid_token" |
error_description | ○ | エラー概要 | "The Access Token expired" |
レスポンスサンプル
通常レスポンス
HTTP/1.1 401 Unauthorized
WWW-Authenticate: error="invalid_token", error_description="The Access Token expired"
JSONPレスポンス
HTTP/1.1 200 OK
Content-Type: text/javascript
/* Anti CVE-2014-4671 */
success({
error="invalid_token",
error_description="The Access Token expired"
})
よくある質問(FAQ)
insufficient_scope エラーが返却されます。
下記いずれかの場合、エラーが返却されます。
(1)Client IDの設定状況により、属性取得APIが利用できない状態となっている場合
下記アプリケーションの詳細画面より設定内容をご確認ください。
https://e.developer.yahoo.co.jp/dashboard/
▼属性取得APIを利用できる条件
・ID連携利用有無:「ID連携を利用する」
・属性取得APIを利用しますか?:「属性取得APIを利用する」
※ID連携利用有無の選択は一度ご登録すると変更できません。
(2)Access Tokenを取得する前段階にてお客様の同意を得ていない場合
Authorization エンドポイントにscope パラメータに含めて同意をとったときに取得できるAccess Tokenをご利用ください。
返却されないパラメーター(属性情報)があります。
ユーザーが未登録のデータについてはパラメーター(カラム)自体返却されません。
Yahoo! ID連携 v2
- Yahoo! ID連携とは
- ガイドラインを確認する
- Yahoo! JAPAN IDを取得する
- Client IDを登録する
- 各種フロー
- ネイティブアプリを開発
- 属性取得API(UserInfoAPI)
- ID Token
- JavaScript SDK
- PHP SDK
- Java SDK
- デザインガイドライン
- APIアクセス実装方法
- Yahoo! ID連携用語集
- FAQ