通过PHP发布到Facebook粉丝页面的简单示例?

我做了很多搜索,我发现过时的教程不起作用......

我有一个使用PHP制作的网站,当我在我的管理区域提交特定表单时,我想发布到我的Facebook“粉丝页面”

没有可用的RSS,所以你有什么例子可以使用php sdk直接发布到Facebook粉丝页面(不是用户墙)吗?

谢谢!


答案 1

最后,经过大量的测试,它的工作原理,没有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文档,并尝试执行它。该帖子可能会出现在我们的脸书页面上。

希望此代码有助于其他有相同问题的人!


答案 2

您可以使用 Facebook 访问令牌调试器测试令牌

API v.2.5 的工作解决方案

  1. 获取 作为参数codeapp_idresponse_uri

https://www.facebook.com/dialog/oauth?client_id=".$app_id."&redirect_uri=".$response_uri."&response_type=code&scope=manage_pages,publish_pages

  1. 获取基于 和 的结果access_tokencodeapp_idapp_secretresponse_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

  1. 永不过期,基于page_access_tokenpage_idaccess_token

https://graph.facebook.com/v2.5/".$page_id."?fields=access_token&access_token=".$access_token


推荐