「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
FacebookのGraph API(その3・Userオブジェクト前半)
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_likes | idと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の フィールドを含む オブジェクトの配列 |
ユーザーのメールアドレス | RFC822形式の メールアドレス | ||
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の フィールドを含む オブジェクトの配列 |