【问题标题】:Get event list based on location根据位置获取事件列表
【发布时间】:2012-02-18 08:58:50
【问题描述】:

我一直在 Facebook 开发者网站上四处寻找,看看是否有办法获取本地活动信息以显示在我自己的网络应用程序上。

理想情况下,我会传递一个位置,Facebook 会发送一份当地公共活动的列表(当然还有到 FB 的链接)。 但到目前为止,我还没有找到任何说明这是否可能的文件。

有谁知道这是否可行?

【问题讨论】:

    标签: facebook api events location


    【解决方案1】:

    确实可以使用基于位置的“搜索”接收事件 为此,您需要您要搜索的位置的经度和纬度坐标以及具有 user_events 权限的 access_token(我认为您也可以使用公共搜索)

    这是一个 FQL 示例,如何获取某个位置附近的所有事件。 (从您和您的朋友活动中搜索):

    $lat = "40";
    $long = "30";
    
    // using offset gives us a "square" on the map from where to search the events
    $offset = 0.4;
    
    $events = 'SELECT pic_big, name, venue, location, start_time, eid FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND start_time > '. $created_time .' OR uid = me()) AND start_time > '. $created_time .' AND venue.longitude < \''. ($long+$offset) .'\' AND venue.latitude < \''. ($lat+$offset) .'\' AND venue.longitude > \''. ($long-$offset) .'\' AND venue.latitude > \''. ($lat-$offset) .'\' ORDER BY start_time ASC '. $limit;
    

    诀窍本身在于场地.经度和场地.纬度的使用。要从城市获取事件,只需获取城市坐标并根据需要调整偏移量。 如果您不知道如何使用 FQL,请查看Facebook PHP SDK

    【讨论】:

    • 由于这个答案大约有 10 个月的历史,我不能保证 Facebook 没有更改他们的 API。如果我有时间,我会再次调查并发布新答案。
    • 不可能这样做,因为 FQL 在 Facebook API 2.1 版之后已被弃用
    • 更正:在 2016 年 8 月 7 日之前,您仍然可以使用 FQL docs
    【解决方案2】:

    纬度/经度周围的引号使它们成为字符串。然后你会比较一个浮点数和一个字符串

    【讨论】:

      猜你喜欢
      • 2018-08-08
      • 1970-01-01
      • 2016-01-02
      • 2011-04-05
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多