如何在Facebook粉丝页面上发布帖子作为图谱API中的网页所有者或管理员

时间:2015-09-03 11:50:52

标签: php facebook api facebook-graph-api

我正在做一个需要在Facebook页面上发布帖子的PHP项目。例如,我有一个电子商务网站。当我创建产品时,新产品的链接将在电子商务的Facebook页面上共享。现在我以这种方式在Facebook Graph API资源管理器工具(https://developers.facebook.com/tools/explorer)上进行测试。

  1. 我生成了一个具有正确权限的access_token(manage_pages和publish_actions)。

  2. 我将HTTP POST方法发送到此URL并使用以下字段:

    • 网址 - {page-id} / feed

    • 字段 - mesasge = {message},已发布= true,link = {link}

  3. 当我去查看我的Facebook粉丝页面时,它只是作为访客帖子发布。我的意思是由访问者发布(基于Facebook粉丝页面打开的帐户),并且它不是作为网站管理员或网站所有者发布的。该帖子不被Fan Page发布。

1 个答案:

答案 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页面中。