FacebookのGraph API(その1・概要)

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

Facebookに対応したアプリケーションを作る際には、「Graph API」を使ってFacebookと情報をやり取りすることが多いです。
そこで、FacebookのGraph APIの使い方を紹介していきます。
今日は、Graph APIの概要について解説します。

1.Graph APIの概要

Facebookの外にあるアプリケーションから、Facebookの各種の情報にアクセスする際には、「Graph API」というAPI(Application Programming Interface)を使います。
Graph APIでは、以下のようなアドレスにHTTPプロトコルで接続することで、Facebookの各種の情報を得ることができます。
「情報のID」の部分は、得たい情報に応じたID値を指定します。
また、「アクセストークン」には、Graph APIにアクセスする際に必要なアクセストークンを指定します。
アクセストークンを得るには、OAuth 2.0で認証を行います。

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

例えば、当方のIDは「1268097446」です。
したがって、以下のようなアドレスにアクセスすると、当方の情報を得ることができます。

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

一部の情報は、アクセストークンがなくても得ることができます。
例えば、以下のアドレスにアクセスすると、当方の最小限の情報を得ることができます。

https://graph.facebook.com/1268097446

アクセスした結果は、JSON形式の文字列で返されます。
各種のプログラム言語でJSONの文字列をデコードして、情報を利用することができます。
例えば、「https://graph.facebook.com/1268097446」にアクセスすると、以下のような文字列が返されます。

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

2.リンクしている情報を得る

また、ある情報が別の情報にリンクしている場合もあります。
例えば、「ユーザーがウォールに投稿したメッセージ」だと、ユーザーとメッセージがリンクしています。
この場合、以下のようなアドレスに接続することで、その情報を得ることができます。

https://graph.facebook.com/情報のID/リンクしている情報の種類?access_token=アクセストークン

「リンクしている情報の種類」には、以下の表のような値を指定します。

情報の種類指定する値
メッセージposts
アルバムalbums
友達friends
グループgroups
イベントevents

例えば、以下のようなアドレスに接続すると、当方がウォールに投稿したメッセージを得ることができます。

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

なお、得たい情報によっては、Permissionが必要な場合があります。
その場合は、OAuthで認証してアクセストークンを得る際に、必要なPermissionも指定しておきます。

例えば、ユーザーのアルバムの情報を得たい場合、「user_photos」というPermissionが必要です。
したがって、OAuthで認証する際に、「https://www.facebook.com/dialog/oauth?・・・&scope=user_photos」のようなアドレスにアクセスして、user_photosのPermissionを得ておきます。