属性取得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"
zoneinfoAsia/Tokyo固定 profile Asia/Tokyoの固定値を返却します。

入力値(サンプル)
"Asia/Tokyo"
localeja-JP固定 profile ja-JPの固定値を返却します。

入力値(サンプル)
"ja-JP"
birthdate生年 profile ユーザーが登録している生年月日の生年のみを4桁で返却します。

入力値(サンプル)
"1986"
nickname表示名 profile ユーザーが任意で登録している表示名を返却します。
※ユニークな識別子ではありません。
※現在は固定値でのレスポンスとなります。

入力値(サンプル)
"やふうたろう"
pictureプロフィール画像URL profile ユーザーが任意で登録しているプロフィール画像を返却します。
※現在は固定値でのレスポンスとなります。

入力値(サンプル)
"https://dummy.img.yahoo.co.jp/example.png"
emailメールアドレス※email メインに設定しているメールアドレスを返却します。
※本項目はユニークではありません。異なるユーザーで同一のメールアドレスを 登録されている場合もあるため、ユーザー識別子としては利用できません。

入力値(サンプル)
"yconnect@example.com"
email_verifiedメールアドレス確認済みステータス※ email emailで返却したメールアドレスが登録メールアドレスである場合は、確認済かどうかをtrue/falseで返却します。
Yahoo!メールアドレス(@yahoo.co.jp)の場合は、受信できる状態かどうかをtrue/falseで返却します。


入力値(サンプル)
"true"
addresscountry国コード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

利用のルール

開発のヒント