单个请求的FQL多查询

时间:2013-12-17 17:32:23

标签: android facebook-fql

我目前有2个FQL查询,一个用于从新闻源检索消息,另一个用于从其actor_id检索用户uid和名称。问题是这些查询是在单独的请求中运行的,因此它们彼此不同步。

我正在尝试将两个查询合并为一个,以便我有一个JSON对象并且可以一次解析所有数据。

我把这个问题作为首发: FQL query to get the Immediate family (name, birthday and relationship)
但是,我一直无法弄清楚如何使用我的查询。

我的两个疑问是: String fqlQuery =“SELECT post_id,created_time,actor_id,message FROM stream WHERE filter_key in(SELECT filter_key FROM stream_filter WHERE type ='newsfeed'AND uid = me())ORDER BY created_time”;

String fqlFriendInfo =“SELECT uid,name FROM user WHERE uid IN(SELECT actor_id FROM stream WHERE filter_key in(SELECT filter_key FROM stream_filter WHERE type ='newsfeed'AND uid = me())ORDER BY created_time)”;

所以我真的想加入这两个查询,以便我从一个FQL查询中获得uid和name,以及与该用户相关的post_id和消息。

1 个答案:

答案 0 :(得分:0)

这样做:

{"query1":"SELECT post_id, created_time, actor_id, message FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE type = 'newsfeed' AND uid=me()) ORDER BY created_time", "query2":"SELECT id, name FROM profile WHERE id IN (SELECT actor_id FROM #query1)"}

请使用配置文件表而不是用户表,因为第二个查询很可能失败(返回某些actor_id的空结果)。您的第一个查询的actor_id可以是页面ID,但uid表示用户,而不是页面。