Java RestFB如何订阅webook

Java RestFB如何订阅webook,java,facebook-graph-api,restfb,Java,Facebook Graph Api,Restfb,我正在尝试复制以下请求(我用Facebook图形浏览器详细说明了这一点) POST/{page\u id}/subscribed\u apps?subscribed\u fields=feed,提及 随附的页面访问令牌。我从那个请求中得到的响应是 { "success": true } 如何使用RestFB发出相同的请求?到目前为止,我已经设法想出了: FacebookClient client = new DefaultFacebookClient(pageAcces

我正在尝试复制以下请求(我用Facebook图形浏览器详细说明了这一点)

POST/{page\u id}/subscribed\u apps?subscribed\u fields=feed,提及

随附的页面访问令牌。我从那个请求中得到的响应是

{
  "success": true
}
如何使用RestFB发出相同的请求?到目前为止,我已经设法想出了:

FacebookClient client = new DefaultFacebookClient(pageAccessToken, Version.VERSION_8_0);
JsonObject result = client.publish(
    String.format("/%s/%s", pageId, "subscribed_apps"),
    JsonObject.class,
    Parameter.with("subscribed_fields", "feed,mention"));
但我得到的只是:

com.restfb.exception.FacebookOAuthException: Received Facebook error response of type OAuthException: (#100) Parameters do not match any fields that can be updated (code 100, subcode null) 'null - null'

为了使其更容易阅读,我建议您尝试以下代码:

FacebookClient client = ne DefaultFacebookClient(pageAccessToken, Version.LATEST);
GraphResponse result = client.publish("me/subscribed_apps",
     GraphResponse.class, 
     Parameter.with("subscribed_fields","feed,mention"));
if (result.isSuccess()) {
  // do some stuff
}
这样,您就不需要
页面id
字符串.format
。页面id已经连接到页面访问令牌,有时这会导致更好的工作结果


RestFB为此类请求提供了一个称为
GraphResponse
的特殊对象。它是一个简单的对象,提供了一些方便的方法。只要您没有像用户或帖子那样获得完整的对象,这是一种更好的方法;)

谢谢你,这终于奏效了。Idk问题到底是什么。根据我的经验,如果您使用
me
或页面id,有时会产生不同,尽管它应该在内部解决为相同的值。因此,我首先尝试
me
,这会得到最稳定的结果。