FacebookのグラフAPIを簡単に試す方法
ハマって結構時間かかったのだが、一番シンプルな方法を書いとく。
Railsの基本環境は入ってるとします。
2. Facebookアプリを作成してアプリIDを取得し、それでアクセストークンを取得
- ブラウザに以下のURLを直接入力。(YOUR_APP_IDのところはアプリIDに置き換え)
https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=token
- URLがリダイレクトされて"Sucess"と表示されたらOK.そのときブラウザのURLに
https://www.facebook.com/connect/login_success.html#access_token=XXXX&expires_in=YYYY
という風に出てくる、そのXXXXをどっかにコピペっておく。
3. プログラム作成
# "test.rb" require 'rubygems' require 'koala' access_token = '上で取得したアクセストークンXXXX' @graph = Koala::Facebook::API.new(access_token) p @graph.get_object("masayuki.isobe.14") p @graph.get_connection("masayuki.isobe.14","likes")
なおget_objectはアクセストークンがなくても(つまり認証しなくても)パブリックに公開されてるので取得できる。それだけが必要ならアクセストークンは不要で@graphをnewするときのパラメータは無しでOK。
追記
ウォールへの投稿などするには、追加の権限が必要で、それは上記の2.のアクセストークンを取るところで、URIのCGIパラメータに"scope=許可して欲しい権限をカンマ区切りで並べる"を追加する。権限の種類はこちらを参照。例えば、ウォールへの投稿には"public_actions"権限が必要なので、
https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&scope=public_actions&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=token
という風に&でつなげればOK.これで取得したaccess_tokenであれば以降ウォールにプログラムから書き込める。