0

我有一个网站,企业通过 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 表单完成)。

谢谢

4

2 回答 2

1

他们给了你manage_pages权限吗?惊人的。这是您需要做的:

  1. 一旦他们登录,您就可以掌握用户 access_token。
  2. 使用该令牌,您将能够获取该用户的 Graph API,并获取帐户连接。参考 ->用户 API(查找“连接”)
  3. 该 API 调用将为您提供一个包含帐户名称、access_token、类别、id的对象数组
  4. 您可以知道从给定的字段中选择哪个页面。所以,做出你的选择;)
  5. 使用您选择的访问令牌发布到页面。参考 ->页面 API(提要)

对于另一个问题“如何在提交内容时自动发布到该页面墙(通过 PHP 表单完成)。 ”我会做一些 JavaScript 逻辑,一旦提交表单就会触发并使用任何方法调用 Facebook API您要发布的内容。

于 2012-04-15T11:32:27.543 回答
0

一旦用户授权您的应用程序,您应该能够访问他们的“帐户”连接。使用它,您应该能够检索他们的页面列表(然后您可以使用它来填充下拉列表)和正确页面的 access_token。您可以在这里找到更多信息 https://developers.facebook.com/docs/reference/api/page/ 尤其是在这里 https://developers.facebook.com/docs/reference/api/page/#feed

请注意,提要位也将您指向帖子的主要文章,但请记住您需要使用正确的 access_token 和上面的 page_id

谢谢

于 2012-04-15T11:31:45.520 回答