1

我怎样才能得到所有喜欢给定页面的朋友,而不需要遍历朋友列表和该朋友的喜欢列表?

哑巴是这样的:

friends_like_page = []
for f in friends:
   for l in friends.like:
      if l = page_id:
        friends_like_page.append(f)

但我想知道是否有办法为此构建 FQL 查询。

推进#2并解决:

使用@Igy 的建议我可以解决它。我在下面发布了答案。无论如何,我接受了 Igy 的回答,因为是他的想法帮助了我。

前进#1:

好的,我现在有这个:

获取所有朋友:

SELECT uid2 FROM friend WHERE uid1 = me()

从用户UID获取页面粉丝:

SELECT uid, page_id FROM page_fan where uid = UID

结合

SELECT uid, page_id FROM page_fan WHERE uid in (SELECT uid2 FROM friend WHERE uid1 = me())

但是,它似乎不能正常工作。这是怎么回事?

4

2 回答 2

3

您无法获得谁喜欢页面的列表,您总是需要从用户开始并返回页面 - 最快的方法可能是在批量查询中检索用户的朋友的喜欢并进行比较一些数组搜索运算符的结果

于 2012-04-05T15:32:20.560 回答
3

所以,经过一整天的战斗,我终于解决了它。正如@Igy 所说,我构建了一个批处理请求,就是这样:

curl https://graph.facebook.com \
    -F 'access_token=...' \
    -F 'batch=[
             {"method": "GET",
                "name" : "get-friends",
                "relative_url": "me/friends",
              },
              {"method": "GET",
                "relative_url": "likes/?ids={result=get-friends:$.data.*.id}"
              }
    ]'
于 2012-04-05T19:40:16.467 回答