nma*_*rti 43 php facebook facebook-wall facebook-graph-api facebook-fan-page
我做了很多搜索,我发现过时的教程不起作用......
我有一个用PHP制作的网站,当我在我的管理区域提交一个特定的表单时,我想发布到我的Facebook"粉丝页面"
没有RSS可用,所以你有什么例子来直接发布到使用PHP SDK中的Facebook粉丝页面(不是用户墙)?
谢谢!
nma*_*rti 84
最后,经过大量测试后,它没有PHP SDK.这是一步一步的指南:
1.获取权限和页面令牌
转到https://developers.facebook.com/tools/explorer/,然后从左侧的第一个下拉菜单中选择您的应用.
单击"获取访问令牌"按钮,在"选择权限"窗口中,单击"扩展权限"并检查manage_pages和publish_stream,然后单击"获取访问令牌"蓝色按钮.
您可能会在此步骤中要求您授予您的应用访问您的Facebook帐户的权限,接受.
接下来,单击"GET"下拉列表旁边的文本字段末尾,并替换:me/accounts的数字,然后单击此文本字段旁边的蓝色按钮.
您将获得所有页面的令牌,包括您的应用页面.在列表中找到您的页面名称,如下所示:"name":"您的页面名称"
找到页面后,复制页面的访问令牌(会很长),如下所示:"access_token":"XXXXXXXX".同时复制页面的ID:" id":"XXXXX".
这就是这一步,我们现在可以开始编码了.
2.通过PHP发布到您的页面墙
首先,对于这个脚本,你需要一个支持curl的服务器.
我们启动定义页面访问令牌的PHP文档以及我们在第1步中获得的页面ID:
<?php
$page_access_token = 'XXXXXXX';
$page_id = 'YYYYYYYY';
Run Code Online (Sandbox Code Playgroud)
之后,我们创建一个数组,其中包含要发布到页面墙的信息:
$data['picture'] = "http://www.example.com/image.jpg";
$data['link'] = "http://www.example.com/";
$data['message'] = "Your message";
$data['caption'] = "Caption";
$data['description'] = "Description";
Run Code Online (Sandbox Code Playgroud)
您当然可以使用https://developers.facebook.com/docs/reference/api/post/中描述的任何其他post参数,如果您不需要上面的一个或多个参数,则只需将其删除即可.
好的,此时我们向数组添加访问令牌:
$data['access_token'] = $page_access_token;
Run Code Online (Sandbox Code Playgroud)
我们设置了帖子网址,在我们的页面中发布:
$post_url = 'https://graph.facebook.com/'.$page_id.'/feed';
Run Code Online (Sandbox Code Playgroud)
最后一步,我们将使用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);
?>
Run Code Online (Sandbox Code Playgroud)
之后,我们可以保存我们的PHP文档,并尝试执行它.该帖子可能会出现在我们的Facebook页面中.
希望此代码能够帮助其他人遇到同样的问题!
您可以使用Facebook Access Token Debugger测试令牌
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
| 归档时间: |
|
| 查看次数: |
91412 次 |
| 最近记录: |