在“POSTS TO PAGE”面板上显示发布到Facebook页面

时间:2015-04-25 11:59:36

标签: php facebook facebook-php-sdk

我从其他网站获得了以下代码,似乎工作正常。唯一的问题是帖子出现在Facebook页面的“POSTS TO PAGE”部分,而不是直接出现在页面时间轴上。

知道为什么吗?

此外,代码在我使用访问令牌时起作用,而不是app访问令牌。使用app访问令牌时,我收到一条错误消息:“(#200)用户尚未授权应用程序执行此操作”

<?php
// require Facebook PHP SDK
// see: https://developers.facebook.com/docs/php/gettingstarted/
require_once("/YOUR_PATH_TO/facebook_php_sdk/facebook.php");

// initialize Facebook class using your own Facebook App credentials
// see: https://developers.facebook.com/docs/php/gettingstarted/#install
$config = array();
$config['appId'] = 'YOUR_APP_ID';
$config['secret'] = 'YOUR_APP_SECRET';
$config['fileUpload'] = false; // optional

$fb = new Facebook($config);

// define your POST parameters (replace with your own values)
$params = array(
  "access_token" => "YOUR_ACCESS_TOKEN", // see: https://developers.facebook.com/docs/facebook-login/access-tokens/
  "message" => "Here is a blog post about auto posting on Facebook using PHP #php #facebook",
  "link" => "http://www.pontikis.net/blog/auto_post_on_facebook_with_php",
  "picture" => "http://i.imgur.com/lHkOsiH.png",
  "name" => "How to Auto Post on Facebook with PHP",
  "caption" => "www.pontikis.net",
  "description" => "Automatically post on Facebook with PHP using Facebook PHP SDK. How to create a Facebook app. Obtain and extend Facebook access tokens. Cron automation."
);

// post to Facebook
// see: https://developers.facebook.com/docs/reference/php/facebook-api/
try {
  $ret = $fb->api('/YOUR_FACEBOOK_ID/feed', 'POST', $params);
  echo 'Successfully posted to Facebook';
} catch(Exception $e) {
  echo $e->getMessage();
}
?>

2 个答案:

答案 0 :(得分:0)

您需要更改页面设置以修复POSTS TO PAGE问题:

  

请确保已打开其他人的最近帖子和   帖子可见性设置设置为“允许其他人发布我的帖子   页面时间表。“

     

您可以在我们的帮助中心了解有关这些设置的更多信息:   https://www.facebook.com/help/356113237741414/?ref=u2u

答案 1 :(得分:0)

要发布“as Page”,您需要使用publish_pagesmanage_pages授权用户并使用页面访问令牌,您可以在Facebook文档中阅读:{{3} }

分析调试器中的令牌以查看该页面是否显示:https://developers.facebook.com/docs/graph-api/reference/v2.3/page/feed#publish

当然,您无法使用应用访问令牌发布,甚至不需要授权。

有关访问令牌的更多信息: