2012年1月18日 星期三

[facebook].取得 page_access_token 的2個方法

資料來源1: How To: Post On Facebook Page As Page Not As Admin User Using PHP-SDK
http://www.masteringapi.com/tutorials/how-to-post-on-facebook-page-as-page-not-as-admin-user-using-php-sdk/31/

資料來源2: 111219 facebook connect 改使用 php sdk 3.01與Graph API
http://living.donghong.info/blog/?page_id=9986

要讓 facebook app 存取粉絲專頁, 需要授與 manage_pages 權限.



方法1: 透過 $facebook->api("/$page_id?fields=access_token")
---------------------
$page_id = 'page_id';
$page_info = $facebook->api("/$page_id?fields=access_token");
if( !empty($page_info['access_token']) ) {
$args = array(
'access_token' => $page_info['access_token'],
'message' => "I'm a Page!"
);
$post_id = $facebook->api("/$page_id/feed","post",$args);
}



方法2: 透過 $facebook->api("/$user_id/accounts")
---------------------
$page_id = "XXXXXXXXX";
$page_access_token = "";
$result = $facebook->api("/me/accounts");
foreach($result["data"] as $page) {
if($page["id"] == $page_id) {
$page_access_token = $page["access_token"];
break;
}
}

* 附註: 如果您有開發 app 的話, 透過 /$user_id/accounts 來列 object 時, app 也算是在 page 裡的一個object, 可以透過下面的 code 來判斷是 facebook app 還是 fan page.
$page["category"] == "Application"

沒有留言:

張貼留言

Facebook 留言板