Graph API Facebookページに管理者としてウォールに投稿する方法
自分のウォールや友達のウォールへはパーミッションのついたトークンさえあれば自由に投稿やシェアすることができる。
1 2 3 4 5 | //自分 $facebook->api('/me/feed', 'POST', array('method' => 'stream.publish', 'message' => "ほげ!" )); //友達 $facebook->api('/友達のID/feed', 'POST', array('method' => 'stream.publish', 'message' => "ほげ!" )); |
同じようにFacebookページのIDにすれば投稿できるはず!と思い
やってみた。案の定できたが、「自分」からの投稿扱いになってしまう。
これではあまり意味がないので調べてみると、
ちゃんとここにありました。
http://developers.facebook.com/docs/reference/api/permissions/
要は
?fields=access_token
をつけるとページのトークンが与えられるというもの。
■変更前
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | require_once '../src/facebook.php'; $facebook = new Facebook(array( 'appId' => 'hogehogehoge!!!!', 'secret' => 'hogehogehogehogehogehoge!!!!!!', 'cookie' => true, )); $fb_user = $facebook->getUser(); if ($fb_user) { $facebook->api('/FacebookページID/feed', 'POST', array('method' => 'stream.publish', 'message' => "ほげ!", 'access_token' => $access_token )); echo "<script type='text/javascript'>window.location.href='/';</script>"; } else { $par = array('scope' => 'publish_stream,offline_access,manage_pages'); $fb_login_url = $facebook->getLoginUrl($par); echo "<script type='text/javascript'>location.href='" . $fb_login_url . "';</script>"; } |
■変更後
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | require_once '../src/facebook.php'; $facebook = new Facebook(array( 'appId' => 'hogehogehoge!!!!', 'secret' => 'hogehogehogehogehogehoge!!!!!!', 'cookie' => true, )); $fb_user = $facebook->getUser(); if ($fb_user) { //ここを追加! $page = $facebook->api('/FacebookページID?fields=access_token'); $access_token = $page['access_token']; $facebook->api('/FacebookページID/feed', 'POST', array('method' => 'stream.publish', 'message' => "ほげ!", 'access_token' => $access_token )); echo "<script type='text/javascript'>window.location.href='/';</script>"; } else { $par = array('scope' => 'publish_stream,offline_access,manage_pages'); $fb_login_url = $facebook->getLoginUrl($par); echo "<script type='text/javascript'>location.href='" . $fb_login_url . "';</script>"; } |
Author Profile
HOSHINO
ECのことを中心に書きたいと思います。 ネタが無いときはプログラムやデザインのことも書きます。
SHARE