Javascript JS SDK-发布到页面墙

Javascript JS SDK-发布到页面墙,javascript,facebook,facebook-javascript-sdk,facebook-page,Javascript,Facebook,Facebook Javascript Sdk,Facebook Page,我正在使用JavaScript SDK。我有一个具有发布权限的应用程序,在执行某些操作后,将向登录的用户墙发布帖子,如下所示: FB.getLoginStatus(function (response) { //we are authorized if (response.status == "connected") { var name = "Post name"; var body = "Post body"; var capt

我正在使用JavaScript SDK。我有一个具有发布权限的应用程序,在执行某些操作后,将向登录的用户墙发布帖子,如下所示:

FB.getLoginStatus(function (response) {
    //we are authorized
    if (response.status == "connected") {
        var name = "Post name";
        var body = "Post body";
        var caption = "The caption";
        var description = "The description";
        var link = "http://www.facebook.com/mypage";
        FB.api('/me/feed', 'post', { message:body,caption:caption,link:link,name:name,description:description}, function (response) {
       console.log(response);
        });
    }
});
我想能够做的是,在成功向用户页面发布帖子后,向特定的Facebook页面发布帖子。是否有一种方法可以安全地预授权应用程序来执行此操作?这在JavaScript SDK中是可能的,还是根本不可能?我环顾四周,没有找到确切的答案。我在看FB的文档,但发现有些地方有点参差不齐。有人能告诉我这是否可行吗?任何帮助或建议都将不胜感激,谢谢

编辑:我的错误,我应该提供更多信息。以下是我试图做的:

var body = "The body";
var caption = "The caption";
FB.api("mypageid/feed", "post", { message: body, caption: caption }, function (response) {
    console.log(response);
});
我收到错误
“此api调用需要有效的应用程序id”
,但我的页面id有效。当我调用
FB.init()
时,我正在传递我的应用程序id,它在登录用户提要的第一篇文章中起作用

编辑:

我已经按照Igy的建议做了改变。现在我收到错误:“”(#200)用户未授予应用程序自动发布提要故事的权限“”

现在,正如我所说的,我正试图发布到Facebook页面。我已登录到拥有该页面的帐户,我已转到该应用并单击“允许”以获得以下权限:

email,user_photos,publish_stream
当我使用拥有该页面的帐户登录并检查我的状态时:

FB.getLoginStatus(function (response) {
    console.log(response);
});
我得到“连接”。我做得不对吗?我需要做的不仅仅是授权拥有该页面的帐户吗?有没有办法设置页面的允许权限?我做了一点调查,但找不到答案

编辑: 好的,现在发生的事情是,如果我登录到拥有该页面的帐户,帖子将被发送到该页面。如果我使用另一个帐户登录,我会得到一个id作为对API调用的响应,但它似乎不是有效的对象id。例如,我刚刚得到这个id:

id: 499973616681852_507724422573438
如果我转到
http://graph.facebook.com/499973616681852_507724422573438

我得到一个“
unsupported get request”
graph api异常,这表明返回的id无效。我觉得我离这里很近,但我错过了一些东西。任何建议都将不胜感激,再次感谢所有回应者


编辑:删除了无意中保留的页面链接

一开始就试着让它工作是一种很好的做法。请注意,在右上角,您可以选择在哪个应用程序下运行。我刚刚用/page_ID/feed在你的页面上发了一篇帖子,效果很好。您需要“发布流”权限。如果你能让它在图形浏览器中工作,你就会知道它在JSSDK中工作是有可能的,而且你刚刚犯了一些语法错误

还请注意,对返回“不受支持的get请求”的图形的某些调用存在错误。因此,即使您返回的id无效,也要检查页面本身以查看帖子是否出现

我还注意到用户本身也出现了同样的错误。尝试这是您应用程序的测试用户吗?如果是这样的话,作为一个真正的用户可能值得一试


由于您希望以页面本身的形式发布到页面,因此在进行graph api调用时,您需要使用该访问令牌。我不确定您是否能够为任何用户使用此访问令牌,或者仅允许管理页面的用户使用此访问令牌。最好使用图形浏览器进行一些实验来找出问题。

发布到另一个页面时遇到了什么问题?您应该能够对
/page\u ID/feed
进行另一个API调用-这对您不起作用吗?如果没有,您会遇到什么错误?您是否在发送到页面提要的调用中缺少“/”?你肯定是在同一个页面上这样做的,并且没有丢失你用来进行“user post”API调用的FB对象吗?有两件事仍然不清楚:1)你希望页面上的帖子看起来像是用户发布的,还是页面本身发布的?2) 谁“拥有”这个页面?这是您拥有的特定页面还是最终用户拥有该页面?我在回答中添加了更多关于如何作为页面进行身份验证的说明。您好,非常感谢您的回复。请原谅我的答复太晚了,我昨天一整天都很忙。当您说您使用pageid/feed发布到页面时,您是否使用查询字符串传递了值?类似于(在图形api资源管理器中)pageid/feed?message=themessage?我正在浏览文档,但很难找到具体的例子或事情如何运作的描述。再次感谢您的回复。我将此消息作为POST值传递。图形资源管理器让您只需单击即可构建它。