我正在做一个需要在Facebook页面上发布帖子的PHP项目。例如,我有一个电子商务网站。当我创建产品时,新产品的链接将在电子商务的Facebook页面上共享。现在我以这种方式在Facebook Graph API资源管理器工具(https://developers.facebook.com/tools/explorer)上进行测试。
我生成了一个具有正确权限的access_token(manage_pages和publish_actions)。
我将HTTP POST方法发送到此URL并使用以下字段:
网址 - {page-id} / feed
字段 - mesasge = {message},已发布= true,link = {link}
当我去查看我的Facebook粉丝页面时,它只是作为访客帖子发布。我的意思是由访问者发布(基于Facebook粉丝页面打开的帐户),并且它不是作为网站管理员或网站所有者发布的。该帖子不被Fan Page发布。
答案 0 :(得分:0)
最后,经过大量测试后,它没有PHP SDK。这是一步一步的指南:
Get permissions and the page token:
转到https://developers.facebook.com/tools/explorer/,然后从左侧的第一个下拉菜单中选择您的应用。
单击“获取访问令牌”按钮,在“选择权限”窗口中,单击“扩展权限”并检查manage_pages和publish_stream,然后单击“获取访问令牌”蓝色按钮。
在此步骤中,系统可能会要求您为自己的应用添加访问Facebook帐户的权限,接受。
接下来,点击“GET”下拉列表旁边的文字字段末尾,然后替换:me / accounts的数字,然后点击此文字字段旁边的蓝色按钮。
您将获得所有网页的令牌,包括您的应用页面。在列表中找到您的页面名称,如下所示:“name”:“您的页面名称”
找到页面后,复制页面的访问令牌(会很长),如下所示:“access_token”:“XXXXXXXX”。同时复制页面的ID:“id”:“XXXXX”。
这就是这一步,我们现在可以开始编码了。
Post to your page wall via PHP
首先,对于这个脚本,你需要一个支持curl的服务器。
我们启动定义页面访问令牌的PHP文档以及我们在第1步中获得的页面ID:
<?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";
您当然可以使用https://developers.facebook.com/docs/reference/api/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页面中。