0

我试图以管理员身份发布到 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;
}
4

1 回答 1

0

如果您想作为页面发布- 这意味着该帖子将显示为好像该页面发布了此处显示的更新:

然后,您将必须使用有效的页面访问令牌。Facebook 身份验证文档中提供了有关如何获取此类令牌的信息。看起来您的代码中已经有一个令牌 - 您可以使用Facebook 调试器对其进行测试,看看它是否仍然有效。

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

$facebook->setAccessToken($new_access_token);

最后顺便说一句,当您指定数组的元素时,除非您想专门添加引号字符,否则无需将值括在引号中。

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

如果您想明确地将引号添加到值中,则必须执行以下操作-

$feed_array = array(
  'string_value' => '"'.$value.'"',
  ...
);
于 2012-08-04T15:22:38.597 回答