gpt4 book ai didi

facebook - 使用 fql 从 facebook 获取 friend 最喜欢的照片

转载 作者:行者123 更新时间:2023-12-04 05:17:10 24 4
gpt4 key购买 nike

我正在尝试获取2012年我 friend 最喜欢的照片。我做了以下查询。

SELECT pid, caption, aid, owner, link, src_big, src_small, created, modified, like_info 
FROM photo WHERE created > 1325356200 and aid
IN (SELECT aid FROM album WHERE owner
IN (SELECT uid2 FROM friend WHERE uid1=me()))
ORDER BY like_info.like_count DESC LIMIT 30

它按降序给了我最喜欢的 30 张照片。但是当我检查照片时,我可以理解列表是不正确的。我 friend 最喜欢的一些照片不在列表中。我检查了多次查询。我不明白这个查询有什么问题。谁能帮我找出为什么这个查询没有给出想要的结果?
任何建议都是最受欢迎的。

最佳答案

问题是由于每个 FQL 查询的默认 LIMIT 值 (LIMIT 100)。

  • 首先从 friend 那里选择 uid2 uid1=me() 查询运行并输出您的 100 个 friend
  • 其次从专辑中选择援助 WHERE owner IN (..100 Friends...) 查询运行并输出你 100 个 friend 的 s100 张专辑。
  • 最后选择 pid、标题、帮助、所有者、链接、src_big、src_small、创建、修改、like_info
    FROM photo WHERE created > 1325356200 and aid IN (...100 Aid...) ORDER BY like_info.like_count DESC LIMIT 30
    查询运行并输出 100 张专辑的结果。

  • 显然结果根本不是你想要的。您可能会尝试自己增加限制(比如 LIMIT 1000),但对我来说从来没有用。获得准确结果的唯一方法是尝试图形 API,但执行需要很长时间,最终它是一个死的选择。

    我的答案的证明

    尝试运行这些代码
    SELECT pid, caption, aid, owner, link, src_big, src_small, created, modified, like_info 
    FROM photo WHERE created > 1325356200 and aid IN (SELECT aid FROM album WHERE owner IN
    (SELECT uid2 FROM friend WHERE uid1=me() order by rand() ))ORDER BY like_info DESC LIMIT 30

    我使用 rand() 函数来随机化 friend
    SELECT pid, caption, aid, owner, link, src_big, src_small, created, modified, like_info FROM
    photo WHERE created > 1325356200 and aid IN (SELECT aid FROM album WHERE owner IN (SELECT
    uid2 FROM friend WHERE uid1=me() ) order by rand() ) ORDER BY like_info DESC LIMIT 30

    在这里,我使用 rand() 来随机化专辑。您可以尝试随机化这两个查询。每次执行这些代码时,它都会给出非常不同的结果,您会注意到有更多喜欢的图片。

    关于facebook - 使用 fql 从 facebook 获取 friend 最喜欢的照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14097438/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com