无法作为管理员发布到Facebook粉丝页面墙的条目

时间:2012-08-04 14:42:20

标签: php facebook facebook-graph-api

我试图以管理员身份发布到Facebook粉丝专页墙。我想在我的粉丝页面墙上发布带有图片,链接,描述等的新条目。这已集成到我的自定义cms中,因此无论何时在我的网站上更新故事,它都会自动在粉丝页面墙上发布。 问题是每当我发帖时,帖子都不会显示为管理员发布的。它在时间轴的右侧显示为其他人的帖子。 如何绕过以下代码,以便在我的粉丝专页墙上以管理员身份发布?我一直在看它两天,在网上检查类似的东西,所以,但我似乎仍然无法破解它。将不胜感激。

$page_id = 'xxxxxxxxxx';
$article_link = "http://xyz.com/articles/headlines/title-one/";

$result = $facebook->api("/me/accounts");
foreach($result["data"] as $page) {
    if($page["id"] == $page_id) {
        $page_access_token = $page["access_token"];
        break;
    }
}   

$og_title = "Sample title";
$og_image = "http://xyz.com/images/articles/919161344090182.jpg";
$msg = "some description of the article";
$feed_array = array(
    'access_token' => "$page_access_token",
    'message' => "$msg",
    'picture' => "$og_image",
    'link' => "$article_link",
    'name' => "$og_title",
    'caption' => "$og_title"
);

try {
    $page_post = $facebook->api("/$page_id/feed","post",$feed_array);
} catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
}

1 个答案:

答案 0 :(得分:0)

如果您想发布为网页,则表示该帖子会显示为该网页发布了更新as it appears here :

然后您必须使用有效的页面访问令牌。有关如何在Facebook Authentication Documentation中获取此类令牌的信息。看起来您的代码中已经有一个令牌 - 您可以使用Facebook Debugger对其进行测试,看看它是否仍然有效。

您可能想要尝试的另一件事,您可以使用PHP SDK的setAccessToken()函数,而不是将令牌附加到post数组的参数之一。更多细节可以在这里找到 - https://developers.facebook.com/docs/reference/php/facebook-setAccessToken/

$facebook->setAccessToken($new_access_token);

作为最后的BTW注释,当您指定数组的元素时,除非您想要专门添加引号字符,否则无需将值包装在引号中。

$feed_array = array(
  'access_token' => $page_access_token,
  'message' => $msg,
  'picture' => $og_image,
  ...
);

如果你想明确地为这些值添加引号,你必须做这样的事情 -

$feed_array = array(
  'string_value' => '"'.$value.'"',
  ...
);