我有一个网站,企业通过PHP后端系统创建内容。 每次他们创建一个新内容时,我希望它发布到他们的Facebook页面时间线(而不是用户时间线)。
我已经创建了身份验证代码:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'XXXXXXXXXX',
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
<div class="fb-login-button" scope="manage_pages">
Login with Facebook
</div>
以manage_pages为范围。 我需要知道他们如何选择他们希望帖子转到哪个页面(如果他们有超过 1 个页面),以及如何在提交内容时自动发布到该页面墙(通过 PHP 表单完成)。
谢谢
他们已经给了你manage_pages权限,对吧?棒。以下是您需要执行的操作:
- 一旦他们登录,您就可以掌握用户access_token。
- 使用该令牌,你将能够获取该用户的图形 API,并获取帐户连接。参考 -> 用户 API(查找"连接")
- 该 API 调用将为您提供一个包含帐户名称、access_token、类别、id 的对象数组 由
- 您知道从给定的字段中选择哪个页面。 因此,请;)做出选择
- 使用您选择的访问令牌发布到页面。参考 ->页面 API(源)
对于另一个问题"当他们提交内容时,如何自动发布到该页面墙(通过PHP表单完成)。我会做一些JavaScript逻辑,一旦表单提交,就会触发,并使用你想要发布的任何内容调用Facebook API。
用户授权您的应用后,您应该能够访问他们的"帐户"连接。使用此功能,您应该能够检索其页面列表(然后可用于填充下拉列表)和正确页面的access_token。您可以在此处找到更多信息https://developers.facebook.com/docs/reference/api/page/特别是在这里https://developers.facebook.com/docs/reference/api/page/#feed
请注意,提要位也会将您引向帖子的主要文章,但请记住,您需要使用正确的access_token和上面的page_id
谢谢