「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
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 | ビデオオブジェクトの 配列 |