让朋友的facebook签到一个地方

时间:2013-04-23 15:45:19

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

我正在尝试以前找到我的朋友去过Paris 。我正在尝试使用Graph API来执行此操作。

所以基本上就是地方ID(对于巴黎它是 110774245616525 ),我可以使用端点 https://graph.facebook.com/110774245616525/ 来获取基本信息。然后,我得到一个access_token,带有friends_status和user_status权限(使用Graph Explorer),我正在使用此访问令牌来获取签到。所以我正在进行 GET https://graph.facebook.com/110774245616525/checkins?access_token=my_access_token 调用,我得到的只是此错误消息:

  

page_id不是签入表的成员

虽然,阅读the documentation我看到与签到的连接:

  

由当前用户和朋友们对此地方信息页进行了检查   当前用户。

这是Graph API的错误还是我的方式?

谢谢!

3 个答案:

答案 0 :(得分:1)

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

的人

答案 1 :(得分:1)

我得到以下fql来显示我在特定位置签到的朋友的所有姓名。只在Graph API资源管理器中尝试过,而且速度相当慢:/让我知道它是否有用:) 从uid所在的用户中选择名称(从checkin中选择author_uid,其中author_uid在(从朋友中选择uid2,其中uid1 = me())和target_id = 110774245616525)

另外一个注意事项:我注意到我的很多朋友出现在“访问过法国巴黎的朋友”栏目中,但他们没有任何实际的签到。我认为这个盒子还会检查你的朋友是否有任何来自巴黎的照片..只是一个想法

答案 2 :(得分:0)

在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()))

这几乎让所有的朋友,搜索靠近巴黎市中心的所有帖子,然后得到他们的名字。

如果有人知道如何在Graph API中执行此操作,请告诉我,因为我认为依靠FQL仍然不是一个好主意。