使用PHP将用户评论发布到公司Facebook页面

时间:2013-12-18 13:22:39

标签: php facebook facebook-graph-api

我公司的营销部门已经在我们的一个微型网站的主页上请求了一个文本框,允许用户直接在我们的Facebook页面上发表评论。我已经能够理清用户的墙壁,理论上我可以看到如何发布到我们的页面,但我似乎无法找到一种方法允许用户以用户身份发布到我们的墙上。有没有人有这方面的经验?它甚至可能吗?

作为备用计划,我可以默认发布到用户墙。我有这个工作,但我想在帖子中标记我们的公司页面。我发现了一些标记用户和页面的引用,似乎围绕使用以下格式“@ [pageId]”,但这不起作用(该消息只发布文本@ [pageid]并且不转换它到链接或标签)。我正在使用的代码看起来像这样

$post_id = $facebook->api('me/feed', 'post', array('message'=>'Hello world! @[pageid]'));

我也尝试在阵列中添加“标签”和“位置”,但没有运气。

1 个答案:

答案 0 :(得分:0)

“但我似乎无法找到一种方法让用户以用户身份发布到我们的墙上”

除了用户应该将用户发布到您的墙上时,还有什么不是他自己?

首先。确保您已成功请求“publish_stream”权限。 如果你有,那你就准备好了。当我试图通过FB-PHP-SDK在一个粉丝专栏墙上发帖时,我也注意到了奇怪的行为。我尝试了卷曲的增益,它按预期工作(尽管我需要它已经有一段时间了,也许现在通过API工作了。)

请注意,如果您使用拥有网页管理员权限的帐户登录Facebook,则会始终将其作为网页发布

$post_url = "https://graph.facebook.com/THE_PAGE_ID/feed";
$data['message'] = "I'm about to post something cool!";
$data['access_token'] = 'YOUR ACCESS TOKEN'; //Make sure you have requested the publish_stream permission

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);    

快乐的编码!