我做了很多搜索,发现过时的教程不起作用…
我有一个使用PHP制作的网站,当我在管理区域中提交特定表单时,我想发布到我的Facebook“粉丝页面”
没有可用的RSS,因此您有任何示例使用php sdk直接发布到Facebook粉丝页面(而不是用户墙)吗?
谢谢!
最终,经过大量测试,它在没有PHP SDK的情况下仍然有效。这是分步指南:
1.获取权限和页面令牌
然后从左侧的第一个下拉菜单中选择您的应用。
单击按钮“获取访问令牌”,然后在“选择权限”窗口中,单击“扩展权限”并检查manage_pages和publish_stream,然后单击“获取访问令牌”蓝色按钮。
在此步骤中,可能会要求您向您的应用授予权限以访问您的Facebook帐户(接受)。
接下来,单击文本字段末尾的“ GET”下拉列表,然后将数字替换为:me / accounts,然后单击此文本字段旁边的蓝色按钮。
您将获得所有页面的令牌,包括您的应用程序页面。在列表中找到您的页面名称,如下所示: “ name”:“您的页面名称”
找到页面后,复制该页面的访问令牌(这将很长),看起来像这样: “ access_token”:“ XXXXXXXX” 。同时复制页面的ID:“ id”:“ XXXXX” 。
这就是所有步骤,我们现在可以开始编码。
2.通过PHP发布到您的页面墙
首先,对于此脚本,您需要一个支持curl的服务器。
我们开始定义第一个步骤中获得的页面访问令牌和页面ID的PHP文档:
<?php $page_access_token = 'XXXXXXX'; $page_id = 'YYYYYYYY';
之后,我们创建一个数组,其中包含要发布到页面墙的信息:
$data['picture'] = "http://www.example.com/image.jpg"; $data['link'] = "http://www.example.com/"; $data['message'] = "Your message"; $data['caption'] = "Caption"; $data['description'] = "Description";
当然,您可以使用描述的任何其他post参数,如果不需要上面的一个或多个参数,则可以将其删除。
好的,这时我们将访问令牌添加到数组中:
$data['access_token'] = $page_access_token;
然后我们设置发布网址,以发布到我们的页面中:
$post_url = 'https://graph.facebook.com/'.$page_id.'/feed';
最后一步,我们将使用curl将消息发布到页面墙中:
$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); ?>
之后,我们可以保存我们的PHP文档,并尝试执行它。该帖子可能会出现在我们的Facebook页面中。
希望这段代码对其他有相同问题的人有所帮助!