【问题标题】:How to search for friends around me using Facebook API?如何使用 Facebook API 搜索我周围的朋友?
【发布时间】:2012-02-16 18:37:31
【问题描述】:

使用 GraphAPI,我看到您可以请求特定朋友的位置,或按条件搜索朋友。

但是,我找不到在我所在地区搜索朋友的方法。我想执行搜索并获取距离我 X 米半径范围内的朋友的结果。

我知道我可以手动获取每个朋友并检查其位置,但它似乎效率有点低,所以我正在寻找批量搜索,

编辑:我使用 FQL 找到了一个类似的问题(和答案):facebook fql query similar to friends checkins

【问题讨论】:

    标签: facebook facebook-graph-api


    【解决方案1】:

    嗯,你在那里回答了自己的一部分......

    当您查询用户朋友时,您也会获得他的位置,因为它是 User 对象的一部分(当然假设您有正确的权限):http://developers.facebook.com/docs/reference/api/user/

    正如您所写,问题是您需要向每个朋友发送一个请求到 facebook,这不是解决此问题的正确方法。 值得庆幸的是,Facebook 已经想到了这一点,他们提出了“批量请求”:http://developers.facebook.com/docs/reference/api/batch/,它可以让你做到这一点。

    编辑

    现在我想起来了,它比我之前写的要简单,你甚至不需要批量请求,因为你可以在一个请求中获取所有用户朋友:我/朋友。 假设您让用户授予您所需的权限,朋友列表中的每个用户对象也将具有位置对象。

    为每个朋友计算他的位置是否在所需的半径内。

    【讨论】:

    • 谢谢,但我正在寻找一个查询,它可以简单地返回我周围的朋友数组,而无需批量处理 500 个请求。
    • 另外,批量请求限制为50个请求。
    • 我认为您错过了图形 api 的要点。该 api 只是为您提供图形节点及其与其他节点的连接,但取决于不同的应用程序使用图形算法并提出不同的事情来处理它们。我可以根据我们共同的点赞数向我询问所有半径为 X 的朋友。你不能指望 facebook 实现他们图的所有可用应用程序
    • 至于批量请求限制为50:facebook用户平均有150个朋友(我找不到最新的官方号码,这是最接近的:blog.facebook.com/blog.php?post=72975227130)所以平均而言,你只需要发出 3 个批处理请求,比 150 个要好,你不觉得吗?
    • “我可以根据我们共同的点赞数向我询问半径为 X 的所有朋友”。也许我确实错过了如何使用它,因此我在这里问:)。如何执行您提到的查询?
    【解决方案2】:

    此外,您可以使用此 Graph API 端点检索朋友的位置和家乡:/me/friends?fields=location,hometown,name

    但您需要friends_location 和friends_hometown 权限。

    阅读更多:https://developers.facebook.com/docs/reference/login/extended-profile-properties/

    【讨论】:

    • 谢谢,但使用这个我只能得到他们的确切位置(并与我的比较)。我正在寻找一种方法来获取他们的纬度/经度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多