【问题标题】:Posting in Facebook App's Page (business page) Wall as ANYONE of administrative user以管理员用户的任何人身份在 Facebook 应用程序页面(业务页面)墙上发布
【发布时间】:2014-02-13 08:17:20
【问题描述】:

任何人都知道如何以任何管理用户(拥有“经理”特权)的身份在 Facebook 业务页面墙上发帖吗? 我代表我的客户创建了一些测试帐户。并将其 ID 用作“APP_ID”。如果我通过该帐户发布,它工作正常。但不能使用任何其他“管理员”特权用户帐户发布。

$config = array(
  'appId' => $APP_ID, 
  'secret' => $APP_SECRET
);
$facebook = new Facebook($config);
$fbuser_id = $facebook->getUser();

我正在使用上面的代码。 据此,需要将预定义的用户 ID 作为 app_id 传递。

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

【问题讨论】:

    标签: php facebook facebook-graph-api


    【解决方案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 页面。如果您在发布消息中添加“链接”属性,则不会发布!

    【讨论】:

      猜你喜欢
      • 2015-11-23
      • 2014-07-16
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      相关资源
      最近更新 更多