【问题标题】:Can't Post to Facebook Page using JS无法使用 JS 发布到 Facebook 页面
【发布时间】:2015-08-29 05:26:17
【问题描述】:

好的,我想要作为一个页面发布到 Facebook 页面(这是开发模式应用程序,只有 ne 可以查看)。 我已经完成了 Facebook 登录。

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

  1. 管理页面
  2. 发布页面

我可以使用 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);
        });

控制台中的错误对象这样说

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

My 和 Graph explorer 这两个应用程序都授予相同的权限。是否需要询问任何新权限。我无法弄清楚到底是什么问题。如果我在任何地方错了,请纠正我。

我得到了我在下面发布的答案,但不知道为什么我需要额外的许可。?

【问题讨论】:

  • javascript 的流程有点不同。他们在这里引导您完成:developers.facebook.com/docs/facebook-login/login-flow-for-web/…
  • 我已经完成了fb登录过程
  • 您在此处的调用看起来与我发送给您的链接不同。阅读“进行 API 调用”部分。此外,如果您使用的是在服务器上生成的令牌,它可能不一样,他们的客户端 sdk 似乎会为您管理令牌。我会按照他们的文档中的说明进行操作,我都是@Jamen 发布的。

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


【解决方案1】:

publish_pages 仅在 Graph API 2.3 版中引入。

在此之前,publish_actions 也用于允许在页面上的页面上发帖——现在在 v2.3 中,他们将其设置为两个单独的权限。 publish_actions 用于您以/以用户名义发布的所有内容,publish_pages 用于发布为页面。

Graph API Explorer 默认选择 API 版本 2.3 - 这就是您的调用成功的原因。很可能,通过您自己的 JS 代码调用 API,您没有使用 v2.3,而是在初始化 JS SDK 时指定了较低的 API 版本。

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

【讨论】:

  • 是的,我根本没有检查过,因为我从 Facebook 开发人员那里复制的 JS 登录是 4 个月或更长时间之前...谢谢伙计!!!!
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    错误暗示了它所说的内容。他们已经设计了他们的 API,所以它不会让您在没有适当授权的情况下首先发布。

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

    【讨论】:

      猜你喜欢
      • 2015-08-27
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      • 2020-03-05
      • 1970-01-01
      • 2016-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多