Java restFB发布为页面逐步工作示例

Java restFB发布为页面逐步工作示例,java,facebook,jsp,restfb,Java,Facebook,Jsp,Restfb,我束手无策,我似乎无法将消息作为页面发布,我可以作为管理员用户发布到facebook页面,但不能作为所有者本身发布到页面 我的代码如下: String MY_APP_ID = "xxxx"; String MY_APP_SECRET = "xxxx"; AccessToken accessToken = new DefaultFacebookClient().obtainAppAccessToken(MY_APP_ID, MY_APP_SECRET); DefaultFacebookClien

我束手无策,我似乎无法将消息作为页面发布,我可以作为管理员用户发布到facebook页面,但不能作为所有者本身发布到页面

我的代码如下:

String MY_APP_ID = "xxxx";
String MY_APP_SECRET = "xxxx";

AccessToken accessToken = new DefaultFacebookClient().obtainAppAccessToken(MY_APP_ID, MY_APP_SECRET);
DefaultFacebookClient facebookClient = new DefaultFacebookClient(accessToken.getAccessToken());

FacebookType publishMessageResponse = facebookClient.publish("me/feed", FacebookType.class, Parameter.with("message", fbMessage));

fbMessageID = publishMessageResponse.getId();
我相信上面的代码获得了一个应用程序访问令牌,但我得到了以下错误:

OAuthException: An active access token must be used to query information about the current user.
OAuthException: (#200) The user hasn't authorized the application to perform this action.
我设置了以下权限:

publish_actions, manage_pages, publish_stream
如果我将代码修改为:

FacebookType publishMessageResponse = facebookClient.publish("MYAPPNAME/feed", FacebookType.class, Parameter.with("message", fbMessage));
我得到以下错误:

OAuthException: An active access token must be used to query information about the current user.
OAuthException: (#200) The user hasn't authorized the application to perform this action.
关于这一点,我读了很多书,但看不见树木,有人能解释一下我哪里出了问题,以及我如何解决这个噩梦吗


任何帮助都将不胜感激:-)

我设法解决了。下面是我制作的一个简单的类,它可以将我的一个页面中的帖子作为页面本身

预编码说明:获取页面访问令牌和页面ID
  • 在下面的GET申请表上,填写我/账户
  • 您将获得基本用户数据的Javascript表示。找到你想要的页面
  • 注意
    access\u标记
    id
    字段,我们将在下面的代码中使用它们
  • 就这样。现在,

    在程序代码上!
    结果: 调用
    makeTestPost()
    几次后:


    一些注意事项: 我很确定pageID还可以获取页面名称的
    字符串,您可以在访问页面时在页面的链接上看到该字符串<代码>http://facebook.com/mypagename
    ,因此您可以用
    “mypagename”
    替换pageID号

    另一件事:如果上一篇文章与您现在试图发布的文章完全相同,那么上面使用的
    publish()
    方法将失败,可能是一个反垃圾邮件工具。这就是为什么我实现了
    计数器
    ,以便能够正确地测试它。除此之外,
    makeTestPost()
    还通过了


    最后,我的做法可能不太理想或过于简单,但像你一样,我花了好几个小时沉浸在关于RestFB的不完整文档和信息中。

    如果你找到了任何解决方案,请发布它。我遇到了和你完全相同的问题。太棒了,我花了3个晚上在这个问题上,从facebook4j尝试到什么,而不仅仅是作为一个页面发布。你的回答终于成功了。@Anil我记得我在这件事上也做了很多努力,我很高兴我帮了忙!根据我收集的信息,页面访问令牌在一段时间后过期。有没有一种方法可以在不从手动检索的情况下获取另一个页面访问令牌?对于可能需要非过期页面访问令牌的用户,请检查