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


How to publish a post on a Facebook Fan Page as Page Owner or Admin in Graph API

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

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

  2. 我发送一个HTTP POST方法到这个URL和这些字段:

    • URL - {page-id}/feed

    • fields - message ={message}, published=true, link={link}

当我去查看我的Facebook粉丝页面时,它只是作为访客帖子发布的。我的意思是发布的访客(帐户,Facebook粉丝页是基于打开),它不是张贴作为网站管理员或网站所有者。

最后,经过大量的测试,它可以在没有PHP SDK的情况下工作。这是一步一步的指南:

Get permissions and the page token:

进入https://developers.facebook.com/tools/explorer/并从左侧的第一个下拉菜单中选择您的应用程序。

点击"获取访问令牌"按钮,在"选择权限"窗口中,点击"扩展权限",勾选manage_pages和publish_stream,点击"获取访问令牌"蓝色按钮。

在此步骤中,您可能会被要求授予您的应用程序访问您的Facebook帐户的权限,接受。

接下来,单击"GET"下拉框旁边的文本字段末尾,替换为:me/accounts的数字,并单击该文本字段旁边的蓝色按钮。

您将获得所有页面的令牌,包括您的应用程序页面。在列表中找到你的页面名,看起来像这样:"name": " your page name"

当你找到你的页面时,复制页面的访问令牌(会很长),它看起来像这样:"access_token": "XXXXXXXX"。同时复制该页的id: "id": "XXXXX"。

这一步就到这里,我们可以开始编码了

Post to your page wall via 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;

我们设置了我们的post 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页面。