2013-10-21 56 views
4

我想在facebook页面的墙上张贴。我可以使用App Access令牌在用户墙上发帖。发布到Facebook使用RestFB api的页面墙

我通过延长DefaultFacebookClient

public class ConnectionService extends DefaultFacebookClient{ 

public ConnectionService(String appId, String appSecret) { 
    AccessToken accessToken = this.obtainAppAccessToken(appId, appSecret); 
    this.accessToken = accessToken.getAccessToken(); 
} 
} 

有了这个得到了应用访问令牌我能够发布使用应用标识和appSecret用户墙。但是当我试图张贴到页面墙 我得到错误“用户没有授权应用程序执行此操作”

任何人都可以咨询?

回答

1

应用程序访问令牌是最基本的应用程序令牌,不会允许您发布任何内容。为了将某些内容发布到Facebook页面(作为页面),您需要获得页面访问令牌。

这个过程有点复杂,因为您实际上需要首先授权用户使用“manage_pages”权限,使用用户访问令牌您可以调用API来获取页面访问令牌(/ me/accounts)。

参见这些链接:

顺便说一句,在REST API被弃用:https://developers.facebook.com/blog/post/616/

你也可以尝试“客户端令牌“(开发人员设置> Adva ),我从来没有与那个合作过,但它可能是最简单的解决方案。在任何情况下,应用程序访问令牌都是错误的。

0

确保您在验证用户时提到的范围也包括manage_pages。如果您没有将其包含在您的范围内,则会发生此错误。请参考this

0

由于您从java类生成访问令牌。 ü可以集合U由用户要求UR从乌拉圭回合的Facebook个人资料页面管理应用程序的链接,并获得访问令牌这里的权限.....

+0

这并不提供答案的问题。要批评或要求作者澄清,在他们的帖子下留下评论 - 你总是可以评论你自己的帖子,一旦你有足够的[声誉](http://stackoverflow.com/help/whats-reputation),你会能够[评论任何帖子](http://stackoverflow.com/help/privileges/comment)。 –

+0

会这样做......谢谢.. –

+0

也请使用英文而不是“u”和“u”俚语。并没有真正花费更多时间,但阅读起来更容易。 – luschn

5

要发布在Facebook页面墙,你将需要按照下列步骤操作:

  1. 头以上https://developers.facebook.com/tools/explorer
  2. 点击“获取访问令牌”
  3. 在“扩展权限”选项卡,选择选择manage_pages和publish_actions并点击“获取访问令牌”
  4. 现在在图形API,在Get call下,输入“me/accounts”和点击提交
  5. 在下面的屏幕中,您将看到包含所有页面和页面访问令牌的“数据”json对象。
  6. 抓取所需的页面令牌访问权限,并用此令牌替换下面代码中的PAGE_ACCESS_TOKEN。
  7. 将PAGE_NAME替换为您的网页名称(网址中的网页名称为slug)。
  8. 运行下面的代码和应该做的工作:)

final FacebookClient fb = new DefaultFacebookClient(PAGE_ACCESS_TOKEN); final Page page = facebookClient.fetchObject(PAGE_NAME, Page.class); facebookClient.publish("PAGE_NAME/feed", FacebookType.class, Parameter.with("message", "RestFB test"));

+1

感谢您的帮助!您的代码可以工作,只需稍作更改:PAGE_NAME实际上是页面ID,即您在GET请求底部找到的数字字段。不是名字本身。 –

+0

实际上,PAGE_NAME是您看到的网址中的网页名称的slu子。它为我工作的标识符。更新的答案反映了这一点。感谢您指出:) – sufinawaz

+0

非常感谢,您的解决方案完美无缺。但是有一个问题,它由Graph API Explorer发布,可以更改吗?所有人都可以看到这个帖子。 – Denees

相关问题