Restfb - 使用批处理请求API

时间:2015-02-12 13:57:46

标签: java restfb

这是我的FQL。它的作用是根据post_id接收帖子,如果帖子是由用户或页面发布的,也会返回。根据发布帖子的人的ID返回用户或页面,该帖子由第一个FQLQuery返回。

StringBuilder fqlQuery = new StringBuilder();
                    fqlQuery.append("SELECT "
                            + FacebookGraphApi.FQL_STREAM_SELECT
                            + " FROM stream WHERE post_id=\"");
                    fqlQuery.append(rmtId);
                    fqlQuery.append("\"");

                    HashMap<String, String> querys = new HashMap<String, String>();
                    querys.put("messages", fqlQuery.toString());
                    querys.put(
                            "users",
                            "SELECT "
                                    + FacebookGraphApi.FQL_USER_SELECT
                                    + " FROM user WHERE uid IN (SELECT actor_id FROM #messages)");
                    querys.put(
                            "pages",
                            "SELECT "
                                    + FacebookGraphApi.FQL_PAGE_SELECT
                                    + " FROM page WHERE page_id IN (SELECT actor_id FROM #messages)");

现在我想做的是使用RESTFB批处理请求API

BatchRequest firstRequest = new BatchRequestBuilder(rmtId)).build();
                    BatchRequest secondRequest = new BatchRequestBuilder(poster_id).build();

                    List<BatchResponse> batchResponses =
                              facebookClient.executeBatch(firstRequest,secondRequest);

这些是2个批次执行,第一个返回帖子,它包含“from”,其中包含发布者的poster_id,但我不知道如何将第一批中的poster_id放到第二批所以它会返回海报信息。

任何帮助都将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:0)

发表回答,

第一个请求应该包含一个名称方法,你依赖于另一个请求,并搜索第二个请求,这个请求取决于这样的第一个ID。

IDS = {结果=名称的-方法:$ data.id}?