【问题标题】:how to find friend's past checkins near a location?如何在某个地点附近找到过去签到过的朋友?
【发布时间】:2014-01-29 18:14:07
【问题描述】:

在我的应用中,用户在一个位置,正在寻找她的朋友,这些朋友去过她所在位置 10 英里范围内的任何地方。如何使用 FQL 或图表找到它?我能看到的唯一方法是运行如下搜索:https://graph.facebook.com/search?type=checkin,然后运行结果以找出 10 英里内的位置。有没有更好的方法呢?

感谢您的帮助!

多尔斯

【问题讨论】:

    标签: facebook-graph-api facebook-fql checkin facebook-checkins


    【解决方案1】:

    来自http://developers.facebook.com/docs/reference/fql/location_post/

    上面写着

    返回具有关联位置的帖子的 FQL 表 并且至少满足以下条件之一:

    • 您在帖子中被标记
    • 在帖子中标记了一位朋友
    • 您撰写了帖子
    • 一位朋友撰写了这篇文章

    注意:此查询可以处理大量数据。为了 确保在一个可管理的数据量内返回 合理的时间范围,你应该指定一个最近的时间戳来缩小 结果。

    返回给定位置 10,000 米范围内的帖子:

    SELECT id, page_id
    FROM location_post
    WHERE distance(latitude, longitude, '37.86564', '-122.25061') < 10000
    

    【讨论】:

    • 谢谢!我关注了您的文档链接,还尝试了您的帖子和参考资料中的 fql。其中一些有效,而另一些则无效。无论如何,我目前的目的已经解决了。非常感谢。
    • 我无法投票,因为我需要至少 15 个 repu 点,而我只有一个。 :)
    • 您可以接受没有 15 点声望点的答案。单击灰色复选标记并将其变为绿色。 :)
    • DCMS:如果您仍然对 facebook 位置感兴趣,您应该看到我对我自己的帖子的新回答。谢谢。
    【解决方案2】:

    虽然最初的答案确实对我有用,但它很快就变得不够用了。现在,在我的头撞到墙上之后,它终于打破了(不是我的头——墙)。这里还有两种更好的方法可以找到我需要的东西:

    这是为了找到刚刚签到:

    SELECT checkin_id, coords, tagged_uids, page_id FROM checkin WHERE (author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 或 author_uid=me()) 和 coords.latitude'29' 和 coords.longitude>'-175' 和 coords.longitude

    这是查找所有位置信息:

    SELECT id, page_id FROM location_post WHERE (author_uid IN (SELECT uid2 来自朋友 WHERE uid1 = me()) 或 author_uid=me()) 和 coords.latitude'29' 和 coords.longitude>'-175' 和 coords.longitude

    【讨论】:

    • 很好的发现,Facebook 总是在改变,看起来这是对他们 API 的更好补充。
    猜你喜欢
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 2022-12-09
    • 1970-01-01
    • 2012-09-04
    • 2023-03-03
    • 2014-09-16
    • 1970-01-01
    相关资源
    最近更新 更多