我正在尝试在 Facebook 的应用页面上发表评论。我的应用程序是使用 spring MVC 用 java 编写的。我喜欢实现的功能是每当我从后台在我的页面上发布一些文本时,相同的消息就会发布在我的 Facebook 页面上。到目前为止,我已经为 Twitter 做到了这一点,而且效果很好。在 Facebook 上,我遇到了一个问题。据我所知,唯一几乎是最新的 API 是 RestFB。正如他们的示例所示,我尝试了以下操作:
FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN);
FacebookType publishMessageResponse =
facebookClient.publish("me/feed", FacebookType.class,
Parameter.with("message", "RestFB test"));
我在https://developers.facebook.com上创建了我的应用程序,并从那里获得了访问令牌。但这导致了我没有正确权限的异常。我在网上搜索时遇到了一个帖子:Facebook:发送应用邀请
我也试过这个例子。结果是一样的,我没有正确的权限。我仔细检查了我给出的权限,并且所有相关的一次都被允许。
有人可以帮帮我吗。这个api是最新的吗?我查了一下,最后发布的日期是 2011 年 10 月,我知道 Facebook 在新年之后做了一些改变。此外还有其他更好的api吗?最后,如果有人知道如何做到这一点,他可以在这里发布一个例子。
@亚历山大@Tartoth
我现在正在与我自己的页面管理员一起发布,但它仍然给我一个错误。这是我用来发表评论的代码。我是新手,所以也许我做错了什么
String tokenUrl = "https://graph.facebook.com/oauth/access_token?client_id=" + appId + "&client_secret=" + appSecret
+ "&grant_type=client_credentials";
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod(tokenUrl);
client.executeMethod(method);
String rawAccessToken = new String(method.getResponseBody());
String accessToken = rawAccessToken.split("=")[1];
FacebookClient facebookClient = new DefaultFacebookClient(accessToken);
String to = appId +"/feed";
facebookClient.publish(to, FacebookType.class,
Parameter.with(msg, "RestFB test"));
更新:我解决了之前的问题。现在我的应用程序正在获取它的应用程序令牌,我可以使用它来发布消息,但问题是这些消息无法在它自己的应用程序页面上查看。我知道该消息已发布,因为我可以使用https://graph.facebook.com/publishedMessageId访问它。现在我的新问题是:
这是在应用页面上显示帖子的正确方法吗?这个问题的原因是,在应用程序页面上,当直接从 Facebook 打开它时,您只有更新状态。但是当我查看 RestFb api 时,没有关于如何更新应用程序状态的解释。
如果不是这样,有人可以向我解释如何将状态更新为应用程序。这意味着我想要完成的只是当我在我的 Web 应用程序上更改某些内容(就发布一些新闻而言)时,我希望我在我的 facebook 应用程序页面上的状态具有相同的新闻。