2012-05-07 20 views
0

根據https://developers.facebook.com/docs/reference/api/,我們可以發表評論。我能夠發表評論,但我沒有得到如何評論的點。我已經在下面寫了一個代碼來確認,句法是否正確,並且它還給出了一個例外。喜歡在使用restfb的臉上留言

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) 

回答

0

爲什麼選擇REST API?你不應該使用它,你嘗試的URL也不是來自REST API,而是來自圖表api。

如果你指的是你正在使用的java SDK,那麼也許你應該使用別的東西,我不知道因爲我從來沒有用過它,我寫了我自己的。

想要評論,你需要有評論ID。一旦你有一個很容易使用的圖形API,喜歡它,因爲它的Comment object的文件中說,(下喜歡連接):

創建

你可以像一個評論使用publish_stream權限發出一個HTTP POST請求到 COMMENT_ID /喜歡。不需要參數 。