1

Facebook ページからすべての投稿とコメントを取得しようとしています。これは、次の FQL を使用して、これまでのところ非常にうまく機能します。

{'all_posts':
'SELECT created_time, post_id, actor_id, message, description, comments FROM stream 
   WHERE source_id=PAGE_ID ORDER BY created_time', 
'comments':
   'SELECT id, fromid, post_fbid, text, time, post_id FROM comment WHERE post_id   
    IN (SELECT post_id FROM #all_posts) ORDER BY post_id'
}

RestFB ライブラリを使用しようとしていますが、

com.restfb.exception.FacebookResponseStatusException: Received Facebook error response 
(code 601): Parser error: unexpected '{' at position 0.

クエリを実行しようとすると:

List<JsonObject> queryResults = facebookClient.executeQuery(query, JsonObject.class);

この問題を解決するにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

0

いくつかの例外が発生し、混乱していたため、結果のjsonを解析して、RestFB側での間違いだと思いました。

これを行う正しい方法は、RestFBのマルチクエリサポート(RestFbを使用したマルチクエリの実行)を使用することです。

Map<String, String> queries = new HashMap<String, String>();
queries.put("all_posts", "select created_time, post_id, actor_id, message, description, comments from stream where source_id=279947942083512 ORDER BY created_time");
queries.put("comments", "SELECT fromid, username, text, time, post_id FROM comment WHERE post_id in (SELECT post_id FROM #all_posts) ORDER BY post_id");

MultiqueryResults queryResults = facebookClient.executeMultiquery(queries, MultiqueryResults.class);

1で説明されているように、MultiqueryResultsBeanを提供する必要があります。

于 2013-02-13T16:53:22.820 に答える