我正在使用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粉丝页面作为管理员?
答案 0 :(得分:0)
在$ AccessToken变量中,使用您已授予offline_access权限的(管理页面)access_token(硬编码)。