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


How to make a wall post on a community page (as owner of the page) in Facebook?

我看过开发人员的页面,但是有很多东西。应用程序认证(将我的PHP调用app?),设置权限,如何使后认证?,在哪里存储身份验证?等等等等,我不能完全理解他们的意思,以及所有这些东西需要什么。

我只想在社区/粉丝页的墙上发一个帖子作为社区/粉丝页。我的PHP应用程序应该遵循哪些步骤来创建墙报?

我已经写了一个关于这个主题的深入教程:如何:使用PHP-SDK在Facebook页面上作为页面而不是作为Admin用户发布

总之:

  1. 至少需要publish_streammanage_pages权限
  2. 查询page对象获取页面访问令牌
  3. 和帖子!

从我的教程开始的代码:

<?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'));
}
?>

注意:你可能需要offline_access,如果你想张贴,而你没有连接到Facebook(例如:从你的CMS)