无法使用JS发布到Facebook页面

时间:2015-06-13 07:02:14

标签: javascript facebook facebook-graph-api facebook-page

好吧我想要的是将Facebook页面作为页面发布(这是只能查看ne的开发模式应用程序)。 我已经完成了Facebook登录。

所以基本上我要求2 permissions而且他们是

  1. 管理页面
  2. 发布页面
  3. 我可以使用Facebook graph explorer tool发布到该页面,但不能通过我的Javascript代码发布。

    这是我用JS编写的代码。此代码写在函数内。

    FB.api('me/accounts', function(response){
          token = response.data[0].access_token;
          post_with_token(token);
    }); 
    
    function post_with_token(token){
      var message = $('#post_body').html();
      var page_id = 'page_id';
    
      FB.api('page_id/feed', 'post',
          { message : message,
            access_token : token}, 
          function (response){
            console.log(response);
            });
    

    控制台中的错误对象说明了这个

      

    消息:"(#200)用户未授权应用程序执行此操作"

    应用程序My和Graph explorer都授予了相同的权限。是否有任何新的权限要求。我无法弄清楚究竟是什么问题。如果我在任何地方都错了,请更正我。

    我得到了我在下面发布的答案,但没有得到我需要额外许可的原因。

3 个答案:

答案 0 :(得分:3)

publish_pages仅在图谱API版本2.3中引入。

在此之前,publish_actions用于允许页面上的页面上的帖子 - 现在使用v2.3,他们将其分成两个单独的权限。 publish_actions适用于您在用户名称中发布的所有内容,publish_pages用于作为页面发布。

图形API资源管理器默认选择了API版本2.3 - 这就是您的呼叫成功的原因。最有可能的是,使用您自己的JS代码调用API时,您没有使用v2.3,但在初始化JS SDK时指定了较低的API版本。

因此,只需在version: 'v2.3'参数中指定FB.init(请参阅JS SDK文档中的Basic Setup部分),它就可以与publish_pages一起使用。

答案 1 :(得分:1)

好的,我解决了这个问题。我也要求publish_actions许可。所以我通过登录对话框询问并使用与上面相同的代码发布到页面!

答案 2 :(得分:0)

错误意味着它所说的内容。他们设计了他们的API,所以如果没有适当的授权,它就不会让你发布。

Facebook provides a guide on how to give proper authorization to your registered app