FacebookのGraph API(その3・Userオブジェクト前半)

  • 投稿日:
  • by
  • カテゴリ:

Graph APIで扱う情報の中で、もっとも頻度が高いものは、おそらくユーザーに関する情報だと思います。
今日は、ユーザーの情報(Userオブジェクト)について解説します(前半)。

1.Userオブジェクトの情報を得る

Userオブジェクトの情報を得るには、以下のようなアドレスにアクセスします。

https://graph.facebook.com/ユーザーのID?access_token=アクセストークン

また、ユーザーのIDの代わりに、ユーザーネームを指定することもできます。
例えば、当方のユーザーIDは「1268097446」で、ユーザーネームは「hajimefujimoto」です。
したがって、以下のどちらかのアドレスで、当方の情報にアクセスすることができます。

https://graph.facebook.com/1268097446?access_token=アクセストークン
https://graph.facebook.com/hajimefujimoto?access_token=アクセストークン

さらに、URLに「fields=フィールド名,フィールド名・・・」のパラメータを追加することで、特定のフィールドの値だけを得ることもできます。
例えば、あるユーザーのIDと名前だけを得たい場合は、以下のようなアドレスにアクセスします。

https://graph.facebook.com/ユーザーのID?access_token=アクセストークン&fields=id,name

なお、ユーザーの情報のうち、一部の情報はアクセストークンがなくても得ることができます。
例えば、アクセストークンなしで「https://graph.facebook.com/1268097446」にアクセスすると、以下のような結果(JSONの文字列)が返されます。

{
   "id": "1268097446",
   "name": "Hajime Fujimoto",
   "first_name": "Hajime",
   "last_name": "Fujimoto",
   "link": "http://www.facebook.com/hajimefujimoto",
   "username": "hajimefujimoto",
   "gender": "male",
   "locale": "ja_JP"
}

一方、多くの情報は、取得するためにアクセストークンが必要です。
さらに、情報によっては、Permissionが必要になる場合があります。

なお、「https://graph.facebook.com/me?access_token=アクセストークン」にアクセスすると、アプリケーションを許可したユーザーの情報を得ることができます。

2.得られる情報(フィールド)

Userオブジェクトには、以下の表のような情報(フィールド)が含まれます。
なお、この表はFacebookのUserオブジェクトのドキュメントを訳したものです。
Permissionが「user_XXXまたはfriends_XXX」になっている場合、ユーザー自身の情報を得る際には「user_XXX」のPermissionが必要で、ユーザーの友達の情報を得る際には「friends_XXX」のPermissionが必要です。

フィールド名概要必要なPermission戻り値
idユーザーのFacebook IDアクセストークン不要文字列
nameユーザーのフルネームアクセストークン不要文字列
first_nameユーザーの名アクセストークン不要文字列
middle_nameユーザーのミドルネームアクセストークン不要文字列
last_nameユーザーの姓アクセストークン不要文字列
genderユーザーの性別アクセストークン不要文字列
localeユーザーのロケールアクセストークン不要ISO言語コードと
ISO国コードを含む
文字列
languagesユーザーの言語user_likesidとnameの
フィールドを持つ
オブジェクトの配列
linkユーザーのプロフィールページのアドレスアクセストークン不要ValidなURLを
含む文字列
usernameユーザーのユーザーネームアクセストークン不要文字列
third_party_idユーザーの識別子
Graph APIのURLに「fields
=third_party_id」を付加した時のみ得られる
アクセストークンが必要文字列
timezoneユーザーのタイムゾーン(UTCからのオフセット)カレントユーザーの時のみ得られる数値
updated_timeプロフィールの最終更新日時アクセストークンが必要ISO-8601日付形式の
文字列
verifiedユーザーが確認済みかどうかアクセストークンが必要論理値
bioユーザーのバイオグラフィuser_about_me
または
friends_about_me
文字列
birthdayユーザーの誕生日user_birthday
または
friends_birthday
MM/DD/YYYYの形式の文字列
educationユーザーの学業の履歴user_education
_history
または
friends_education
_history
year/type/schoolの
フィールドを含む
オブジェクトの配列
emailユーザーのメールアドレスemailRFC822形式の
メールアドレス
hometownユーザーの出身地user_hometown
または
friends_hometown
id/nameフィールドを
含むオブジェクト
interested_inユーザーの恋愛対象user_relationship
_details
または
friends_relationship
_details
文字列の配列
location現在の居住地user_location
または
friends_location
id/nameフィールドを
含むオブジェクト
politicalユーザーの政治観user_religion
_politics
または
friends_religion
_politics
文字列
favorite
_athletes
好きなスポーツ選手(近日廃止予定)user_likes
または
friends_likes
idとnameの
フィールドを含む
オブジェクトの配列
favorite
_teams
好きなチーム(近日廃止予定)user_likes
または
friends_likes
idとnameの
フィールドを含む
オブジェクトの配列
quotes好きな言葉user_about_me
または
friends_about_me
文字列
relationship
_status
交際ステータスuser_relationships
または
friends_relationships
文字列
religion宗教・信仰user_religion
_politics
または
friends_religion
_politics
文字列
significant
_other
配偶者user_relationship
_details
または
friends_relationship
_details
idとnameの
フィールドを含む
オブジェクト
video_upload
_limits
動画のアップロード上限
URLにfieldsパラメータを指定した時のみ得られる
アクセストークンが必要length/size
フィールドを含む
オブジェクト
websiteユーザーのウェブサイトuser_website
または
friends_website
ValidなURLを含む文字列
workユーザーの職歴user_work
_history
または
friends_work
_history
employer/location
position/start_date
end_dateの
フィールドを含む
オブジェクトの配列