让好友的 Facebook 签到进入某个地点



我正在查找我的哪些朋友以前去过巴黎。我正在尝试使用图形API来做到这一点。

所以基本上有地方id(对于巴黎,它是110774245616525),我可以使用端点https://graph.facebook.com/110774245616525/来获取基本信息。然后,我得到一个带有friends_status和user_status权限的access_token(使用图形资源管理器),我使用这个访问令牌来获得签入。所以我在做一个GET https://graph.facebook.com/110774245616525/checkins?access_token=my_access_token调用我得到的是这个错误信息:

page_id不是签入表

虽然,阅读文档我看到与签入的连接:

当前用户和好友对该地点页面的签到当前用户。

这是一个错误与图形API或与我做它的方式?

谢谢!

在7月版本中有一个突破性的签入更改https://developers.facebook.com/roadmap/它提到将page_id重命名为target_id,所以这可能是导致它的原因。但是,下面的fql查询可能是您的起点

   select author_uid from checkin where target_id = 110774245616525

author_uid应该是签到的人https://developers.facebook.com/docs/reference/fql/checkin

我得到了下面的fql来显示在特定位置登记的所有朋友的名字。只在图形API资源管理器中尝试过,而且相当慢:/如果有帮助的话请告诉我:)
Select author_uid from checkin where author_uid in (Select uid2 from friend where uid1=me()) and target_id=110774245616525)

附加说明:我注意到我的许多朋友出现在"访问过法国巴黎的朋友"框中,但他们没有任何实际的签到。我想这个方框也会检查你的朋友是否有来自巴黎的照片…只是一个想法

在asifrc和TommyBs的帮助下,我找到了一种在FQL中使用以下查询完成此操作的方法:

SELECT name 
  FROM user 
 WHERE uid IN (
       SELECT author_uid 
         FROM location_post 
        WHERE distance(latitude, longitude, "48.856614", "2.3522219") < 5000 
          AND author_uid IN (SELECT uid2 FROM friend WHERE uid1=me()))

基本上就是找到我所有的朋友,搜索他们在巴黎市中心附近的所有帖子,然后得到他们的名字。

如果有人知道如何在图API中做到这一点,请让我知道,因为它仍然不是一个好主意,依靠FQL,我认为。

最新更新