Php 在Facebook应用程序中发布';s页面(业务页面)墙作为任何管理用户

Php 在Facebook应用程序中发布';s页面(业务页面)墙作为任何管理用户,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,有谁知道如何以管理用户(拥有“经理”特权)的身份在Facebook商业页面的墙上发布信息? 我已经代表我的客户创建了一些测试帐户。并将其ID用作“应用程序ID”。如果我通过那个账户发帖,效果很好。但不能使用任何其他“管理员”特权用户帐户发布 $config = array( 'appId' => $APP_ID, 'secret' => $APP_SECRET ); $facebook = new Facebook($config); $fbuser_id = $faceb

有谁知道如何以管理用户(拥有“经理”特权)的身份在Facebook商业页面的墙上发布信息? 我已经代表我的客户创建了一些测试帐户。并将其ID用作“应用程序ID”。如果我通过那个账户发帖,效果很好。但不能使用任何其他“管理员”特权用户帐户发布

$config = array(
  'appId' => $APP_ID, 
  'secret' => $APP_SECRET
);
$facebook = new Facebook($config);
$fbuser_id = $facebook->getUser();
我正在使用上面的代码。 因此,需要将预定义的用户id作为应用程序id传递

有没有办法获取当前登录用户id?

我找到了解决方案

必须在该登录用户下获取该特定页面的访问令牌

$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;
      }
        }
}
将访问令牌设置为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_令牌;任何“经理”角色用户的post消息都将发布到FB页面,而不具有消息的“链接”属性。如果您将“链接”属性添加到post消息,则不会发布该消息