如何在使用应用程序的用户之间获得共同的facebook喜好

如何在使用应用程序的用户之间获得共同的facebook喜好,facebook,facebook-graph-api,facebook-like,facebook-fql,Facebook,Facebook Graph Api,Facebook Like,Facebook Fql,假设两个用户正在使用一个应用程序,并已授予该应用程序相应的权限来检索他们喜欢的应用程序。是否可以使用FQL或graph api找到它们的共同点?类似于使用graph api查找两个用户之间的好友。我在浏览文档时不认为存在这样的api调用,但我可能错过了它。我想知道这是否可能,如果可能,如何做到。我非常讨厌SQL,刚开始使用FQL,可以从一个用户那里获得所有喜欢的东西,但是如果可能的话,如何只在两个用户之间获得共同喜欢的东西呢?这可以通过FQL实现 1选择用户1的页面 SELECT page_id

假设两个用户正在使用一个应用程序,并已授予该应用程序相应的权限来检索他们喜欢的应用程序。是否可以使用FQL或graph api找到它们的共同点?类似于使用graph api查找两个用户之间的好友。我在浏览文档时不认为存在这样的api调用,但我可能错过了它。我想知道这是否可能,如果可能,如何做到。我非常讨厌SQL,刚开始使用FQL,可以从一个用户那里获得所有喜欢的东西,但是如果可能的话,如何只在两个用户之间获得共同喜欢的东西呢?

这可以通过FQL实现

1选择用户1的页面

SELECT page_id FROM page_fan WHERE uid = $user1
2选择用户2的页面,并使用上一个查询中的页面id作为另一个过滤器aka-子查询

这将为您提供最终的完整查询,以完成以下操作:

SELECT page_id FROM page_fan WHERE uid= $user2 AND page_id IN (SELECT page_id FROM page_fan WHERE uid = $user1)

FQL不再可用。 你可以通过facebook上的GraphAPI来实现。 大概是这样的:

graph.setAccessToken(user.facebookToken);
  graph.get("/"+targetFacebookId+"?fields=context", null,  function(err, result) {
    if (err) {
      notDoStuff(err);
    } else {
      doStuff(result);
    }
  });

太棒了,非常感谢。这一解释得到了特别的赞赏。嗨,汤米,在玩了一段时间之后,它似乎不起作用,并且返回了一个空的数据集。为了测试,我使用了两个用户,并从pagefan中选择了pageid,其中uid=$user1,然后从pagefan中选择pageid,其中uid=$user2。当我仔细检查时,它们都包含一个公共页面id。但是,当我使用page_fan中的SELECT page_id(其中uid=$user2)和page_id(其中uid=$user1)组合示例中的语句时,返回的数据为空。这是使用Facebook的FQL查询工具。有什么想法吗?从逻辑上说,这个查询是有效的。所以我不知道这是不是有时间上的问题,或者是什么。试着通过运行一个多查询来实现这一点,看看您得到了什么:像在SELECT中的子查询可能会附加一个LIMIT参数。尝试在每个查询上显式设置限制500否,它将是:query1:从page\u fan中选择page\u id,其中uid=$user1 LIMIT 500 query2:从page\u fan中选择page\u id,其中uid=$user2,从query1 LIMIT 500中选择page\u id