2012-12-30 25 views
1

進出口使用下面的代碼發佈一個鏈接至Facebook的頁面張貼到消息fanpages:PHP不是用戶

$message = "test"; 
$link = "http://test.com"; 
$pageid = "123456789"; 
$post_url = '/'.$pageid.'/feed'; 
$msg_body = array(
'message' => $message, 
if ($fbuser) { 
try { 
$postResult = $facebook->api($post_url, 'post', $msg_body); 
} catch (FacebookApiException $e) { 
echo $e->getMessage(); 
} 
}else{ 
$loginUrl = $facebook->getLoginUrl(array('redirect_uri'=>$homeurl,'scope'=>$fbPermissions)); 
header('Location: ' . $loginUrl); 
} 

和工作正常(被髮布爲粉絲專頁上的名字),但如果我更改:

'message' => $message, 

'link' => $link, 

被髮布爲我的用戶名不是的粉絲專頁,有什麼可以是問題?

回答

1

您已獲得訪問令牌授予該頁面,並使用它,而發佈:

$accounts = $facebook->api('/me/accounts'); 
foreach($accounts['data'] as $account){ 
    if($account['id'] == $pageid){ 
     $token = $account['access_token']; 
    } 
} 
$msg_body = array(
    'link' => $link, 
    'access_token' => $token 
); 
$postResult = $facebook->api($post_url, 'post', $msg_body); 
+0

到我的代碼,我剛換用/鏈接/飼料,並張貼罰款,但2小時後似乎令牌就是即將到期,即時試圖在同一時間張貼3頁,所以如果我使用您的代碼來獲取pageid1的令牌將該標記也適用於其他頁面,或者我需要爲每個頁面獲取一個令牌?謝謝。 –

+1

每個頁面都有自己的訪問令牌,IIRC使用無效令牌將導致發佈爲您的帳戶,而不是頁面。 –