使用PHP发布到Facebook粉丝专页作为管理员

时间:2011-09-07 11:56:39

标签: facebook api

我正在使用php sdk 3.0,我想在我的粉丝页面上以管理员身份发布流。我使用下面的一些代码,所有工作都很有趣,但是流媒体帖子不是作为管理员用户发布的,而是作为粉丝用户发布的()

登录请求

$fb = new Facebook( array(   'appId'  => $pluginParams->get('ApplicationKey'),
  'secret' => $pluginParams->get('Secret'),
  'cookie' => true
)) ;
.......
$loginUrl = $fb->getLoginUrl(array('scope' => 'manage_pages,offline_access,publish_stream, read_stream'));

发送流的代码部分

$body['id'] = $pluginParams->get('YourFanpageID');
$body['message']=$message;
$body['picture']=$image;
$body['caption']=$item->title;
....
$AccessToken=   $this->get_page_access_token($pluginParams->get('YourFanpageID'), $pluginParams->get('AccessToken'), $pluginParams->def('UserID',$me['id']));
......

$body = http_build_query($body);
$body = urldecode($body);

$request = array(
  'method' => 'POST',
  'relative_url' => 'feed',
  'body' => $body
);

$batch[] = $request;

$params = array(
  'access_token' => $AccessToken,  
  'batch' => json_encode($batch)
);

$result=$fb->api('/', 'POST', $params);

获取访问令牌页面的功能

function get_page_access_token($page_id, $access_token, $user_id) {
    $data = file_get_contents('https://graph.beta.facebook.com/'.$user_id.'/accounts?access_token='.$access_token);
    $pages = json_decode($data,true);
    foreach($pages['data'] as $page) {
      if($page['id'] == $page_id) {
        return $page['access_token']; 
      }   
   }
}

你能告诉pls是否有要添加的代码告诉页面这是一个管理员帖子?

使用PHP发布到Facebook粉丝页面作为管理员?

1 个答案:

答案 0 :(得分:0)

在$ AccessToken变量中,使用您已授予offline_access权限的(管理页面)access_token(硬编码)。