「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
FacebookのGraph API(その4・Userオブジェクト後半)
しばらく間が開きましたが、FacebookのGraph APIの解説の続きです。
今日は、Userオブジェクトの後半として、つながりの情報を得ることについて解説します。
1.つながりの情報を得る
「https://graph.facebook.com/ユーザーのID/オブジェクトの種類」のようなアドレスにアクセスすることで、そのユーザーに関連するオブジェクトの情報を得ることができます。
一般に、ユーザーとオブジェクトは1対多の関係で結びついています。
例えば、1人のユーザーは、通常は多数のメッセージをウォールに投稿していますので、ユーザーとメッセージの関係は1対多です。
そのため、「https://graph.facebook.com/ユーザーのID/オブジェクトの種類」のようなアドレスにアクセスすると、オブジェクトの配列の形で情報が返されます。
以下の画面は、Graph API Explorerで、「https://graph.facebook.com/1268097446/posts」にアクセスした時の結果です。
「1268097446」は当方のFacebookでのIDです。
また、「posts」は、ウォールに投稿したメッセージを表します。
2.つながりの種類
ユーザーとつながりがある情報は非常に多いです。
以下のような情報を得ることができます。
なお、以下の情報は、FacebookのGraph APIのドキュメントをほぼそのまま訳したものです。
| 種類 | 概要 | 必要なPermission | 戻り値 |
|---|---|---|---|
| accounts | ユーザーが管理している アプリケーションと Facebookページ | アクセストークンが必要 manage_pagesの Permissonを得ていれば、 個々のアプリ/Facebookページを 操作するためのアクセストークンも得られる 2011年9月22日から、 manage_pagesの Permissonが必須 | アカウントの id/category/name フィールドがある オブジェクトの配列 |
| achievements | ゲームで得たもの | user_games_activity または friends_games_activity | GETプロトコルはまだ実装されていない |
| activities | ユーザーの好きな活動 | user_activities または friends_activities | 活動の id/name category/create_time フィールドがある オブジェクトの配列 |
| albums | ユーザーのアルバム | user_photos または friends_photos | albumオブジェクトの配列 |
| apprequests | アプリケーションからの 目立つリクエスト | アクセストークンが必要 | リクエストの配列 |
| books | プロフィールに リストされている本 | user_likes または friends_likes | 本の id/name category/create_time フィールドがある オブジェクトの配列 |
| checkins | チェックインした 場所 | user_checkins または friends_checkins | checkinオブジェクトの 配列 |
| events | 参加する イベント | user_events または friends_events | eventオブジェクトの id/name/start_time end_time/location rsvp_statusフィールドを含む オブジェクトの配列 |
| family | 家族関係 | user_relationships | id/name end_time/location relationshipフィールドを含む オブジェクトの配列 |
| feed | ウォール | read_stream | 最近の25件の 投稿のオブジェクトの配列 |
| friendlists | 友達リスト | read_friendlists | 友達リストの id/nameフィールドを含む オブジェクトの配列 |
| friends | 友達 | アクセストークンが必要 | 友達の id/nameフィールドを含む オブジェクトの配列 |
| games | 好きなゲーム | user_likes | id/name category/created_time フィールドを含む オブジェクトの配列 |
| groups | 参加している グループ | user_groups または friends_groups | グループのversion/id/name administrator bookmark_orderフィールドを含む オブジェクトの配列 |
| home | ニュースフィード | read_stream | 最近の25件の 投稿のオブジェクトの配列 |
| inbox | 受信箱 | read_mailbox | threadオブジェクトの配列 |
| interests | 趣味・関心 | user_interests または friends_interests | 趣味・関心の id/name category/create_time フィールドを含む オブジェクトの配列 |
| likes | 「いいね」を付けた Facebookページ | user_likes または friends_likes | id/name category/create_time フィールドがある オブジェクトの配列 |
| links | 投稿したリンク | read_stream | linkオブジェクトの配列 |
| movies | プロフィールに リストした映画 | user_likes または friends_likes | id/name category/create_time フィールドがある オブジェクトの配列 |
| music | プロフィールに リストした音楽 | user_likes または friends_likes | id/name category/create_time フィールドがある オブジェクトの配列 |
| notes | 投稿したノート | read_stream | noteオブジェクトの配列 |
| notifications | 通知 | manage_notifications | id/from/to create_time/update_time title/link applications/unread フィールドがある オブジェクトの配列 |
| outbox | 送信箱 | read_mailbox | メッセージの配列 |
| payments | アプリケーションでの 支払 | アプリケーションの アクセストークン | id/from/to/amount status/application created_time/and updated_time フィールドを含む オブジェクトの配列 |
| permissions | ユーザーがアプリケーションに 許可したPermission | なし | Permission名がキーで 値が1か0の オブジェクトを含む 単一要素の配列 |
| photos | ユーザー(または友達)に タグ付けされた写真 | user_photo_video_tags または friends_photo_video_tags | to/from created_time/type フィールドを含む オブジェクトの配列 |
| picture | プロフィール画像 | アクセストークン不要 | ユーザー画像のアドレスに リダイレクトされる (?type=square | small normal | largeの パラメータで 画像のサイズを指定できる) |
| posts | ウォールに自分が 投稿したメッセージ | アクセストークンが必要 publicでないメッセージを 得るためには read_streamが必要 | 投稿のオブジェクトの配列 |
| scores | スコア | user_games_activity または friends_games_activity | user/application score/typeの フィールドを含む配列 |
| statuses | ユーザー自身が投稿した ステータス | read_stream | ステータスメッセージ オブジェクトの配列 |
| tagged | ユーザーにタグ付された メッセージ | read_stream | id/from/to picture/link/name caption/description properties/icon actions/type application/created_time updated_timeの 各フィールドを含む オブジェクトの配列 |
| television | 好きなテレビ番組 | user_likes または friends_likes | id/name category/create_timeの フィールドを含む オブジェクトの配列 |
| updates | 受信箱のメッセージの アップデート | read_mailbox | メッセージの配列 |
| videos | ユーザーに タグ付けされた動画 | user_videos または friends_videos | ビデオオブジェクトの 配列 |
