Facebook GraphAPIについて(超雑メモ)

以前にも調べたのに完全に忘れてしまって、再調査に時間がかかったので、自分のための備忘録。

GraphAPIとは(自分のための適当メモ)

FBが提供している、FBユーザーの諸々のデータを取得するためのAPI
データを取るためには、ユーザーに対して事前承認が必要。よく「Facebookでログイン」などのボタンを押した時に「このアプリは以下の情報を求めます」的なメッセージが出て、了承を強要するアレ。

まずは「アプリ」という形でFacebook Developersで、Webサイト/モバイルアプリなど、利用する環境の情報を登録し、そのアプリに対して取得したいデータの種類などを設定、FBの審査を待つ(といっても結果はすぐ分かる)。
取得したいデータが名前や性別といった基本情報だけでなく、フレンド情報や職歴なども必要な場合はそのように設定。メッセージの履歴といった超個人情報も取得可能。(アプリの設定方法とかは今回割愛、というかUIコロコロ変わるので必要になったら都度調べるのがベスト)

利用したいサイトやアプリから、ユーザーがFBのアプリに対するOKボタンが押されたら了承とみなされ、該当ユーザのAccessTokenが取得出来る。このアクセストークンは超大事。外部に漏れないようにちゃんと管理しましょう。

SDKが用意されている。

GraphAPIのドキュメント

https://developers.facebook.com/docs/graph-api

具体的な使い方のページはこれ(バージョン2.0用)
https://developers.facebook.com/docs/graph-api/using-graph-api/v2.0

GraphAPIをカジュアルに試す方法

実際に使おうとすると、アプリを登録して、Webサイトに承認ボタン配置して、APIをコールするプログラムを書いて・・・
と気の遠くなる作業をしなければいけないので、ササッとカジュアルにGraphAPIでどんなデータが取れるかな?と試したくなったら、「Graph API Explorer」を使うと便利。
https://developers.facebook.com/tools/explorer

簡単な例: 自分のFBメッセージのやり取りを試しに取得してみる。

  1. とりあえず「GET」を選択(デフォルトはこれ)
  2. その横の入力欄に me/inbox と入力
  3. Submitボタンクリック

たったこれだけ。画面の下のほうにjsonデータがズラッと出てくる。超カジュアル。
指定出来るパラメーターは幾つかあるので、上記の具体的な使い方のページを参照して、パラメーターを追加する。
例えば ?limit=3&since=1364849754 などと追加すれば、いつ以降のデータを3件取得する、みたいな指定になる。いつまで、を指定したい場合はuntilで。指定している数字はtimestamp。

FQLについて

API2.0以降はFQLはサポートされなくなるらしいので、今のうちにGraphAPIに移行するのが吉。
ほぼSQL的な使い方が出来て私は気に入っていたので残念だけど、時代の流れを考えたら当然といえば当然なのかな。