2011年6月8日水曜日

facebookをクライアントアプリのように使いたい

facebookのアクセストークンについて、
webアプリの作成とアクセストークンの取得方法が多少違う。
facebookではtwitterのようにクライアントアプリとして設定することできないみたい。
ただし、以下の方法でクライアントアプリのように動かすことが可能。

通常facebookアプリをブラウザアプリとして使う場合には、リダイレクトURLに
自分のサーバーのアプリの実行先を指定しますが、クライアントアプリでは必要ないので、
redirect_uriを
https://www.facebook.com/connect/login_success.html
と設定する。
※redirect_uriに何も設定しないとエラーになる。

手順
1.
https://www.facebook.com/dialog/oauth?client_id=【APP_ID】&redirect_uri=https://www.facebook.com/connect/login_success.html
にアクセスし、許可を出す。
※オプションでscope=offline_accessをつけておくとアクセストークンの有効期限がなくなる。

2.
許可を出すとリダイレクトされる。
https://www.facebook.com/connect/login_success.html?code=【コード】
【コード】を保存。

3.
先ほど取得した【コード】と【APP_ID】と【SECRET_KEY】を下記URLに記述し、アクセス。
https://graph.facebook.com/oauth/access_token?client_id=【APP_ID】&redirect_uri=https://www.facebook.com/connect/login_success.html&client_secret=【SECRET_KEY】&code=【コード】

4.
アクセストークンが表示される。

これでアクセストークンが取得できる。