【问题标题】:How to get all friends like on Facebook?如何在 Facebook 上让所有朋友都喜欢?
【发布时间】:2013-06-12 01:10:04
【问题描述】:

我想在 Facebook 上获得用户朋友的所有赞。 到目前为止,我知道如何通过 FQL 查询获取经过身份验证的用户的所有喜欢:

SELECT object_id, object_id_cursor,object_type, post_id, post_id_cursor, user_id FROM like WHERE user_id =me()

但是,我希望获得有关所有用户朋友的类似信息。
所以问题是如何从用户的朋友那里获得所有的喜欢。有人可以给我一个提示吗?

【问题讨论】:

    标签: java facebook api facebook-graph-api


    【解决方案1】:

    我认为使用 FQL 不可能全部获取,您需要获取用户朋友 id 的列表,然后针对每个朋友运行查询..

    $friends = array(); //an array of user ids
    foreach($friends as $value){
        //Create query
        $fql = "SELECT object_id, object_id_cursor,object_type, post_id, post_id_cursor, user_id FROM like WHERE user_id = $value";
    }
    

    但是我认为您不想使用 FQL,您可以使用带有 batched requests 的图形 API 以更简单的方式执行操作(如果您在FQL,并且最终可能会导致您的 APP 被 facebook 屏蔽)

    【讨论】:

    • 感谢您的回复,但是这种方法不起作用。当你在查询 FB 中插入一个 user_id 时返回“查询的索引 user_id 必须是登录用户”所以它似乎被 Facebook 禁止
    • 不,您可能没有正确的权限,您是否要求friends_likes 权限?
    • 不,基本上我拥有所有权限。你可以自己在这里试试:developers.facebook.com/tools/explorer
    • 好的,我看了一下,你是对的,你只能查询登录的用户,所以你唯一的选择是使用图形 API,你最好使用批处理,因为你不不想打太多电话,我也将此标记为与以下问题的重复,您可以在那里找到答案:) stackoverflow.com/questions/4780586/…
    • 这仅返回与页面、电影等相关的喜欢。这可以通过 FQL 查询来完成:'{ "friends":"SELECT name, uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())", "friendsLikes":"SELECT uid, page_id FROM page_fan WHERE uid IN (SELECT uid FROM #friends)", "pages":"SELECT page_id, name FROM page WHERE page_id IN (SELECT page_id FROM # friendsLikes)" }' 但是我对与任何类型的 facebook 对象相关的点赞很感兴趣:照片、链接、相册、状态等。但是我很有趣
    【解决方案2】:

    到目前为止,您只能获取朋友喜欢的 URL。 这是执行此操作的 FQL 请求:

    SELECT url FROM url_like WHERE user_id={friendId}
    

    您可以通过 fql 查询或 API 调用获得的所有朋友 ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-29
      • 2012-05-02
      • 2017-02-24
      相关资源
      最近更新 更多