如何在Facebook的社区页面(作为页面所有者)上发布墙贴?

时间:2011-10-25 13:44:30

标签: php facebook

我看过开发者的页面,但有很多东西。应用程序身份验证(将我的PHP称为app?),设置权限,如何在身份验证后发帖?,在哪里存储身份验证?等等等我无法得到他们所有的意思,以及所有这些东西的需要。

我只想在社区/粉丝页面的墙上发布一个墙贴作为社区/粉丝页面。我的PHP应用程序应该采取哪些步骤来发布墙贴?

1 个答案:

答案 0 :(得分:1)

我写了一篇关于这个主题的深入教程:How To: Post On Facebook Page As Page Not As Admin User Using PHP-SDK

简而言之:

  1. 您至少需要publish_streammanage_pages permissions
  2. 查询您的page对象以获取页面访问令牌
  3. 并发帖!
  4. 我的教程中的起始代码:

    <?php
    // This code is just a snippet of the example.php script
    // from the PHP-SDK <http://github.com/facebook/php-sdk/blob/master/examples/example.php>
    require '../src/facebook.php';
    
    // Create our Application instance (replace this with your appId and secret).
    $facebook = new Facebook(array(
      'appId'  => 'app_id',
      'secret' => 'app_secret',
    ));
    
    // Get User ID
    $user = $facebook->getUser();
    
    if ($user) {
      try {
        $page_id = 'page_id';
        $page_info = $facebook->api("/$page_id?fields=access_token");
        if( !empty($page_info['access_token']) ) {
            $args = array(
                'access_token'  => $page_info['access_token'],
                'message'       => "I'm a Page!"
            );
            $post_id = $facebook->api("/$page_id/feed","post",$args);
        }
      } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
      }
    }
    
    // Login or logout url will be needed depending on current user state.
    if ($user) {
      $logoutUrl = $facebook->getLogoutUrl();
    } else {
      $loginUrl = $facebook->getLoginUrl(array('scope'=>'manage_pages,publish_stream'));
    }
    ?>
    

    注意:如果您想要在未连接到Facebook时发布(例如:来自您的CMS),则可能需要offline_access