一种使用单个请求查询新闻源和墙的方法
我正在尝试找到使用单个请求查询新闻提要和墙的最佳方法。
第一次尝试:
- 批量请求查询me/home和me/feed。
- 问题:由于 Graph API 错误(显示被阻止的项目,相反不显示一些应该显示的项目),查询 me/home 给了我不好的结果,所以我决定更改为 FQL,这似乎可以更好地处理它。
第二次尝试:
- 使用单批请求查询: (1)我/直接喂食。 (2) fql.query 流表,filter_key 设置为“others”。
- 问题:还需要查询用户名,因为流表只包含 id。
第三次尝试:
- 使用批量请求查询: (1)我/直接喂食 (2) fql.multiquery 用于流表,filter_key 设置为“others”,名称表为“WHERE id IN (SELECT actor_id FROM #stream)”。
- 问题:失败。它返回“错误:批处理参数必须是 JSON 数组”,尽管它是 json 数组。
第四次尝试:
- 使用 fql.multiquery 获取新闻源流、墙流和名称。
- 问题:我不知道如何使用 FQL 获得与 me/feed 类似的视图。我能得到的最好的结果是我自己的所有帖子的列表,但它没有显示用户被标记的照片(所以我猜缺少更多的东西)。
感谢任何提示。
I'm trying to find the best way to query both news feed and wall using a single request.
First attempt:
- Query me/home and me/feed in batch request.
- Problem: querying me/home gives me bad results due to Graph API bugs (showing blocked items and on the contrary not showing some items that should be shown) so I decided to change to FQL which seems to handle it much better.
Second attempt:
- Use single batch request to query:
(1) me/feed directly.
(2) fql.query for stream table with filter_key set to 'others'. - Problem: Needs to also query for user names because the stream table contains only ids.
Third attempt:
- Use batch request to query:
(1) me/feed directly
(2) fql.multiquery for stream table with filter_key set to 'others' and the names table with "WHERE id IN (SELECT actor_id FROM #stream)". - Problem: Fails. It returns "Error: batch parameter must be a JSON array" although it is a json array.
Fourth Attempt:
- Use fql.multiquery to get news feed stream, wall stream and names.
- Problem: I have no idea how to get a view similar to me/feed using FQL. The best I could get is a list of all my own posts but it doesn't show photos the user is tagged in (so I guess more things are missing).
Appreciate any hints.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于 FQL 不执行 SQL 样式联接,目前不可能在一个查询中从多个表获取信息。
Due to FQL not doing SQL style joins, getting information from multiple tables in one query is currently impossible.