我试图以管理员身份发布到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;
}
答案 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.'"',
...
);