任何人都知道如何在Facebook商业页面墙上发布任何管理用户(谁拥有“经理”特权)? 我代表我的客户创建了一些测试帐户。并将其ID用作“APP_ID”。如果我通过该帐户发布,它工作正常。但不能使用任何其他“经理”特权用户帐户发布。
$config = array(
'appId' => $APP_ID,
'secret' => $APP_SECRET
);
$facebook = new Facebook($config);
$fbuser_id = $facebook->getUser();
我正在使用上面的代码。 因此,需要将预定义的用户ID作为app_id传递。
有没有办法获取当前登录用户ID?
答案 0 :(得分:1)
我找到了解决方案。
必须在该登录用户下获取该特定页面的access_token。
$result = $facebook->api("/me/accounts");
// loop trough all your pages and find the right one
if( !empty($result['data']) )
{
foreach($result["data"] as $page)
{
if($page["id"] == $page_id)
{
$page_access_token = $page["access_token"];
break;
}
}
}
将access_token设置为facebook对象
$facebook->setAccessToken($page_access_token);
之后调用“post”函数。
$msg = array(
'message' => 'Message body',
'caption' => 'This is Title',
'link' => 'http://www.yoursite.com/page/$i',
'picture' => 'http://www.yoursite.com/images/logo.jpg');
$postResult = $facebook->api('/'.$page_id.'/feed', 'post', $msg );
注意:如果没有配置access_token;发布消息将发布给任何“经理”角色用户到FB页面而没有消息的“链接”属性。如果您在帖子消息中添加“链接”属性,则不会发布!