FQL Multiquery编写连接查询

时间:2012-11-04 19:36:48

标签: facebook facebook-fql

简单地说。我需要帮助构建一个FQL多查询请求,该请求将执行以下操作:

  1. 从登录用户的好友列表中获取UID,然后
  2. 使用这些ID从过去两周内获取所有评论和消息(来自流)
  3. 最后,将那些结果与用户名
  4. 结合起来

    到目前为止我的查询:

    [1] GRAB_UIDs

    SELECT uid2 FROM friend WHERE uid1 = me()
    

    [2] GRAB_STREAM (错过2周的部分,可能完全错误):

    SELECT type, created_time, post_id, comments, actor_id, target_id, message 
    FROM stream 
    WHERE filter_key IN 
           (SELECT filter_key FROM stream_filter WHERE uid = me()) 
    AND actor_id IN 
           (SELECT uid2 FROM friend WHERE uid1 = me())
    )';
    

    [3] GRAB_USRNAMES

    SELECT uid, name, username, pic_square, current_location, profile_url 
    FROM user WHERE uid IN 
           (SELECT uid2 FROM friend WHERE uid1 = me())
    

    我真的可以使用大师来提出这些要求,我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:4)

{
    "query1":"SELECT uid2 FROM friend WHERE uid1 = me()",
    "query2":"SELECT type, created_time, post_id, comments, actor_id, target_id, message FROM stream WHERE filter_key IN (SELECT filter_key FROM stream_filter WHERE uid = me()) AND actor_id IN (SELECT uid2 FROM #query1)",
    "query3":"SELECT uid, name, username, pic_square, current_location, profile_url FROM user WHERE uid IN (SELECT uid2 FROM #query1)"
}

您还可以在以下位置查看Graph API Explorer的结果:

https://developers.facebook.com/tools/explorer?fql={%22query1%22%3A%22SELECT%20uid2%20FROM%20friend%20WHERE%20uid1%20%3D%20me%28%29%22%2C%22query2%22%3A%22SELECT%20type%2C%20created_time%2C%20post_id%2C%20comments%2C%20actor_id%2C%20target_id%2C%20message%20FROM%20stream%20WHERE%20filter_key%20IN%20%28SELECT%20filter_key%20FROM%20stream_filter%20WHERE%20uid%20%3D%20me%28%29%29%20AND%20actor_id%20IN%20%28SELECT%20uid2%20FROM%20%23query1%29%22%2C%22query3%22%3A%22SELECT%20uid%2C%20name%2C%20username%2C%20pic_square%2C%20current_location%2C%20profile_url%20FROM%20user%20WHERE%20uid%20IN%20%28SELECT%20uid2%20FROM%20%23query1%29%22}

相关问题