通过PHP发布到Facebook粉丝页面的简单示例?
我做了很多搜索,我发现过时的教程不起作用......
我有一个使用PHP制作的网站,当我在我的管理区域提交特定表单时,我想发布到我的Facebook“粉丝页面”
没有可用的RSS,所以你有什么例子可以使用php sdk直接发布到Facebook粉丝页面(不是用户墙)吗?
谢谢!
我做了很多搜索,我发现过时的教程不起作用......
我有一个使用PHP制作的网站,当我在我的管理区域提交特定表单时,我想发布到我的Facebook“粉丝页面”
没有可用的RSS,所以你有什么例子可以使用php sdk直接发布到Facebook粉丝页面(不是用户墙)吗?
谢谢!
最后,经过大量的测试,它的工作原理,没有PHP SDK。这是分步指南:
1. 获取权限和页面令牌
转到 https://developers.facebook.com/tools/explorer/,然后从左侧的第一个下拉菜单中选择您的应用。
单击“获取访问令牌”按钮,然后在“选择权限”窗口中,单击“扩展权限”并选中manage_pages和publish_stream,然后单击“获取访问令牌”蓝色按钮。
在此步骤中,系统可能会要求您向应用授予访问您的 Facebook 帐户的权限,请接受。
接下来,单击“GET”下拉列表旁边的文本字段末尾,并替换以下各项的数字:me/accounts,然后单击此文本字段旁边的蓝色按钮。
您将获得所有页面(包括应用页面)的令牌。在列表中找到您的页面名称,将如下所示:“名称”:“您的页面名称”
找到页面后,复制页面的访问令牌(将非常长),它可能如下所示:“access_token”:“XXXXXXXX”。同时复制页面的 ID:“id”:“XXXXX”。
这就是这一步的全部内容,我们现在可以开始编码了。
2. 通过PHP发布到您的页面墙
首先,对于此脚本,您需要一个支持 curl 的服务器。
我们开始PHP文档,定义页面访问令牌和我们在第一步中获得的页面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/ 中描述的任何其他post参数,如果您不需要上述一个或多个参数,则只需将其删除即可。
好的,此时我们将访问令牌添加到数组中:
$data['access_token'] = $page_access_token;
我们设置了我们的帖子URL,在我们的页面中发布:
$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 访问令牌调试器测试令牌
API v.2.5 的工作解决方案
code
app_id
response_uri
https://www.facebook.com/dialog/oauth?client_id=".$app_id."&redirect_uri=".$response_uri."&response_type=code&scope=manage_pages,publish_pages
access_token
code
app_id
app_secret
response_uri
https://graph.facebook.com/oauth/access_token?grant_type=authorization_code&client_id=".$app_id."&client_secret=".$app_secret."&code=".$code."&redirect_uri=".$response_uri
page_access_token
page_id
access_token
https://graph.facebook.com/v2.5/".$page_id."?fields=access_token&access_token=".$access_token