javascript - 无法使用 JS 发布到 Facebook 页面

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

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

所以基本上我要求 2 权限,它们是

  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) The user hasn't authorized the application to perform this action"

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

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

最佳答案

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

关于javascript - 无法使用 JS 发布到 Facebook 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30815994/

相关文章:

python - 使用 python sdk 从 facebook ads api 过滤统计信息

javascript - 通过预定义的 HTML 页面列表进行下一个/上一个导航

javascript - 如何在选项文本上添加文本而不删除值?

php - 多次溢出 :hidden containers with hidden content simultaneously toggled by links

javascript - Facebook 分享或取消后出现空白页面

ios - 在 iOS 版 Air 应用程序中邀请 facebook 好友

Facebook Messenger bot 欢迎消息 : 100 The parameter setting_type is required

javascript - JSF 最佳实践 : Custom Components and JavaScript

ios - 如何从 Facebook Graph API GraphRespons 协议(protocol)访问数据

javascript - 通过 id 获取 Facebook 评论