facebook sdk for php を使う (v2.5対応)

facebook は graph api を使って操作できる。それを使った PHP の SDK も存在する。
https://developers.facebook.com/docs/reference/php/4.0.0
これを使うには APP ID を取得する必要がある。

APP IDの取得

先ずはデベロッパーサイトにアクセス。https://developers.facebook.com/
My Apps メニューにカーソルを合わせると、Add a New App が表示されるので、それをクリック。
とりあえず www ウェブサイトをクリック
入力フィールドに妥当な名前を入力して(fb とか facebook は使えないキーワードになっているらしい)、Create New Facebook App ID ボタンをクリック
カテゴリを選択
「アカウントの認証を実行してください」と出るので「携帯電話」を選択
パスワードを再入力する必要があるので入力
携帯のメールアドレスを入力

これでアプリケーションが登録できる。My Apps から各種設定ができるようになる。

SDK のダウンロード

ここら辺を参照してダウンロードする。
適当な場所に配置する。

ログインのサンプル

このページ にある、login.php と fb-callback.php を打ち込めば先ずはログイン可能。
app_id と app_secret は自分のものを使うこと。

実際の流れとしては、以下の様になるので、イントラからも動作確認できる。

  1. login.php が facebook を呼び出す。
  2. facebook が認証を行うと、レスポンスに fb-callback.php へのリダイレクトを返す。
  3. ブラウザ側で fb-callback.php にリダイレクトする。

ただし、localhost を使う場合は、OAuth redirect URIS に localhost を設定する必要がある。
セッションなどを利用して、login.php と fb-callback.php の2ファイルに分けずに、1ファイルで実装する方法もある。

OAuth redirect URIS の設定

My Apps の Setting → Advanced → Client OAuth Settings → Valid OAuth redirect URIS に “http://localhost/” を追加する。

Upload photos examples

自分のタイムラインに画像をアップする場合は ここのサンプル を参考に。
login.php はリダイレクト先を変更して使用する。
ちなみに自分のアルバムを参照する場合は、権限に user_photos を追加する必要がある。
me の部分に特定のアルバムID を指定することで、そのアルバムに対して画像をアップロードできるようになる。
アルバムの一覧は https://graph.facebook.com/me/albums?access_token=アクセストークン で取得しておく。

作ったアプリをアカウントに紐づける

上のサンプルはログインがあるので、それを使ってページのアカウントで入れば、アプリに登録される。
ちなみに、後から権限を追加しようとしても正しく追加できない場合は、アプリを一旦削除してから再ログインする。
Canvasなどのログインを作らないようなアプリの紐づけは Tools&Support の Gtaph API Explorer で、アプリケーションに作ったアプリを指定して Get Token すれば良い。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です