就像使用restfb面对评论一样

时间:2012-05-07 08:14:13

标签: facebook facebook-graph-api restfb

根据https://developers.facebook.com/docs/reference/api/,我们可以评论一下。我可以发表评论,但我不知道如何评论。我在下面写了一个代码来确认,语法是否正确加上它也给出了一个例外。

static private String MY_ACCESS_TOKEN = "AAACEdEose0cBAARk6nVpaOZCTW3l4q";
FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN);

    FacebookClient publicOnlyFacebookClient = new DefaultFacebookClient();

    User user = facebookClient.fetchObject("me", User.class);
    Page page = facebookClient.fetchObject("abc", Page.class);
    System.out.println(user.getId());
    FacebookType publishMessageResponse = facebookClient.publish(user.getId()+"/feed", FacebookType.class, Parameter.with("message", "hello"));

上面的代码工作正常,但是如果喜欢评论,下面的代码不起作用。

    System.out.println("Published message ID: " + publishMessageResponse.getId());
    facebookClient.publish(publishMessageResponse.getId()+"/likes", FacebookType.class, null);

xception in thread "main" java.lang.NullPointerException
at     com.restfb.BaseFacebookClient.verifyParameterLegality(BaseFacebookClient.java:325)
at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:456)
at com.restfb.DefaultFacebookClient.publish(DefaultFacebookClient.java:290)
at com.restfb.DefaultFacebookClient.publish(DefaultFacebookClient.java:298)
at javafbtest.JavaFbTest.main(JavaFbTest.java:40)

1 个答案:

答案 0 :(得分:0)

为什么选择REST api?你不应该使用它,你尝试的网址也不是来自REST API,而是来自图api。

如果你指的是你正在使用的java SDK,那么也许你应该使用别的东西,我不确定因为我从未使用它,我自己编写。

要发表评论,您需要拥有评论ID。一旦你有了这个,就像在Comment object的文档(在连接下)中所说的那样,使用图形api很容易理解它:

  

创建

     

您可以通过发出HTTP POST请求来表达评论   COMMENT_ID /喜欢使用publish_stream权限。没有参数   必要的。