Facebook FQL - 如何获取我发布到 friend 墙上的帖子

标签 facebook facebook-fql fql.multiquery

我有一个 facebook 桌面应用程序,其中一些测试用户都已授予 stream_read 和离线访问权限。 我可以轻松检索每个用户的信息流和个人资料中的帖子。 我不能轻易做到的是检索用户在他们 friend 的墙上发布的帖子。

事实上,这曾经用于相当复杂的多查询,但现在已经停止工作,或者只是间歇性地工作......

是否有人愿意分享他们的方法(如果存在)或讨论这种复杂查询可能存在哪些限制?

最佳答案

我试了一下,遇到了我认为同样的问题,但也许我可以帮助解释一下。

这可能是值得在 Facebook wiki 讨论页上发布的东西,看看 Facebook 的人是否可以阐明它,除非我在这里遗漏了什么。

我放USER_ID 的任何地方都需要填写您要搜索的用户,F_ID1F_ID2 是 friend .. .

FQL #1:应该有效(理论上)

  • 首先获取您所有的列表 friend
  • 然后在 IN 子句中使用该列表 下一个查询
  • 过滤掉只发布的帖子 通过 USER_ID
  • 确保消息不为空

FQL #1:不返回任何帖子

{
"friends":"SELECT uid2 FROM friend WHERE uid1= USER_ID ",

"postsonfriendswall":"SELECT source_id, actor_id, target_id, message FROM stream WHERE source_id IN (SELECT uid2 FROM #friends) AND message != '' AND actor_id = USER_ID "

}

FQL #2:帖子被退回

但奇怪的是,如果您只限制一个 friend (F_ID1),您将取回 USER_ID 发到他们的 friend 墙上的帖子!

{
"friends":"SELECT uid2 FROM friend WHERE uid1= USER_ID ",

"postsonfriendswall":"SELECT source_id, actor_id, target_id, message FROM stream WHERE source_id IN (SELECT uid2 FROM #friends WHERE uid2 = F_ID1) AND message != '' AND actor_id = USER_ID "

}

FQL #3:不返回任何帖子

然而,尝试将另一个 friend 添加到 IN F_ID1 和 F_ID2 ... 再次没有结果 ...

{
"friends":"SELECT uid2 FROM friend WHERE uid1= USER_ID ",

"postsonfriendswall":"SELECT source_id, actor_id, target_id, message FROM stream WHERE source_id IN (F_ID1,F_ID2) AND message != '' AND actor_id = USER_ID "

}

关于Facebook FQL - 如何获取我发布到 friend 墙上的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2485262/

相关文章:

facebook - 使用 Facebook Unity 集成从缓存中加载旧版本的 Unity WebPlayer 二进制文件

php - 获取个人资料的 Facebook 创建日期

facebook - 使用 Facebook Graph API 从公共(public)页面获取 "Post Count"

java - 我如何在 java 中做 facebook 批处理 fql

android - { session 状态 :OPENING, token :{AccessToken token:ACCESS_TOKEN_REMOVED permissions:[]}, appId:1xxxxxxxxxxx}

ios - 从 Facebook 应用程序打开外部网络链接并传递 Facebook 用户名

java - "Request.newMeRequest"和 "new http Request("有什么区别

facebook - 从全局页面获取 Facebook 页面的流

facebook - 共同好友数最多的好友