使用FQL获取所有用户的喜欢(所有这些)

ow3*_*w3n 12 facebook facebook-fql facebook-graph-api

我试图通过FQL获得所有用户的喜欢.以下是我的研究,包括我尝试过的以及每次尝试的问题.

1)最简单的方法是查询uid上的表.所以这会在其他人的流上返回57(对我而言)喜欢.

SELECT object_id, post_id, user_id
FROM like
WHERE user_id = me()
Run Code Online (Sandbox Code Playgroud)

XML看起来像这样(注意无法解释的post_id缺席)

<like>
    <object_id>10150695050005313</object_id>
    <post_id></post_id>
    <user_id>xxxxxxxxxxx</user_id>
</like>
Run Code Online (Sandbox Code Playgroud)

以上似乎是合乎逻辑的步骤,但Facebook 没有索引user_id字段,因此我无法使用以下代码获取更多详细信息.此代码不起作用.

SELECT post_id, message
FROM stream
WHERE post_id IN (
    SELECT object_id, post_id, user_id
    FROM like
    WHERE user_id = me()
)
Run Code Online (Sandbox Code Playgroud)

2)使用Graph API:/ me/likes /检索95个粉丝页面上的信息,但不是来自照片,视频,链接或离线内容.完整的网址是:https://graph.facebook.com/me/likes?access_token =

例如:

{
"data": [
  {
     "name": "BStU",
     "category": "Organization",
     "id": "136978696319967",
     "created_time": "2011-06-29T12:09:17+0000"
  },
  {
     "name": "Euchre",
     "category": "Interest",
     "id": "112355915446795",
     "created_time": "2011-06-29T12:06:07+0000"
  },
Run Code Online (Sandbox Code Playgroud)

3)此FQL返回与上面的代码相同的95个粉丝页面:

SELECT page_id,name
FROM page
WHERE page_id IN (
    SELECT page_id
    FROM page_fan
    WHERE uid=me()
)
Run Code Online (Sandbox Code Playgroud)

总而言之,理想情况下,无论对象如何,我都能够为用户返回所有相似内容.我愿意继续使用粉丝页面和流媒体文章,如果我可以使用一个FQL查询将所有内容与数据一起返回.

有什么建议?我将补充说,我试图在不使用REST API的情况下这样做,因为它会降级(有一天?)因此因此使用fql.multiquery不是一个选项.

Jef*_*ock 1

抱歉,您无法使用端点获取某个人的所有点赞/likes。我们将其限制为任何具有 FB 页面的内容,即任何开放的图形对象,无文章。例如,如果您喜欢具有 of 的开放图对象og:typearticle我们不会在图 apilikes端点中返回该对象。

  • 嗨,杰夫,限制用户对其他人(私人)图片的喜欢是有道理的,但为什么用户不能访问他们喜欢的公开内容呢?本质上,这与 reddit 或 stumbleupon 相同,它允许用户在社交网络中跟踪他们在线阅读的内容。 (3认同)