无法使用 JS Post 到 Facebook 页面
Can't Post to Facebook Page using JS
好吧,我想要的是 post 作为页面访问 Facebook 页面(这是开发模式应用程序,只有 ne 可以查看)。
我已完成 Facebook 登录。
所以基本上我要求 2 permissions
他们是
- 管理页面
- 发布页面
我可以 post 使用 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 资源管理器这两个应用程序具有相同的权限 granted.Is 需要询问任何新权限。我无法弄清楚到底是什么问题 is.Correct 如果我哪里错了。
我得到了我在下面 post 编辑的答案,但不明白为什么我需要额外的许可。?
错误的含义与它所说的完全一致。他们设计了他们的 API,所以它不会让你 post 在没有适当授权的情况下先行。
Facebook provides a guide on how to give proper authorization to your registered app
好的,我解决了问题。我还必须请求 publish_actions
许可。所以我通过登录对话框询问并使用与上面相同的代码 post 到页面!
publish_pages
仅在 Graph API 2.3 版中引入。
在此之前,publish_actions
也被用于允许在页面上发帖 - 现在使用 v2.3,他们将其分为两个单独的权限。 publish_actions
用于您发布的所有内容 as/in 用户名,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
.[=18 一起正常工作=]
好吧,我想要的是 post 作为页面访问 Facebook 页面(这是开发模式应用程序,只有 ne 可以查看)。 我已完成 Facebook 登录。
所以基本上我要求 2 permissions
他们是
- 管理页面
- 发布页面
我可以 post 使用 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 资源管理器这两个应用程序具有相同的权限 granted.Is 需要询问任何新权限。我无法弄清楚到底是什么问题 is.Correct 如果我哪里错了。
我得到了我在下面 post 编辑的答案,但不明白为什么我需要额外的许可。?
错误的含义与它所说的完全一致。他们设计了他们的 API,所以它不会让你 post 在没有适当授权的情况下先行。
Facebook provides a guide on how to give proper authorization to your registered app
好的,我解决了问题。我还必须请求 publish_actions
许可。所以我通过登录对话框询问并使用与上面相同的代码 post 到页面!
publish_pages
仅在 Graph API 2.3 版中引入。
在此之前,publish_actions
也被用于允许在页面上发帖 - 现在使用 v2.3,他们将其分为两个单独的权限。 publish_actions
用于您发布的所有内容 as/in 用户名,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
.[=18 一起正常工作=]