Api 一种使用单个请求同时查询新闻提要和墙的方法

Api 一种使用单个请求同时查询新闻提要和墙的方法,api,facebook-graph-api,facebook-fql,facebook-batch-request,Api,Facebook Graph Api,Facebook Fql,Facebook Batch Request,我正试图找到一种最好的方法,用一个请求同时查询新闻提要和墙 第一次尝试: 查询me/home和me/feed in批处理请求。 问题:查询me/home会给我带来不好的结果,因为Graph API错误显示了被阻止的项,相反,没有显示一些应该显示的项,所以我决定改为FQL,它似乎处理得更好。 第二次尝试: 使用单个批处理请求查询: 1我/直接喂食。 2.fql.query,用于筛选项设置为“其他”的流表。 问题:还需要查询用户名,因为流表仅包含ID。 第三次尝试: 使用批处理请求查询: 1我/直接

我正试图找到一种最好的方法,用一个请求同时查询新闻提要和墙

第一次尝试:

查询me/home和me/feed in批处理请求。 问题:查询me/home会给我带来不好的结果,因为Graph API错误显示了被阻止的项,相反,没有显示一些应该显示的项,所以我决定改为FQL,它似乎处理得更好。 第二次尝试:

使用单个批处理请求查询: 1我/直接喂食。 2.fql.query,用于筛选项设置为“其他”的流表。 问题:还需要查询用户名,因为流表仅包含ID。 第三次尝试:

使用批处理请求查询: 1我/直接喂食 2.fql.multiquery,用于筛选键设置为“others”的流表和名称表,其中id位于SELECT actor\u id FROM stream中。 问题:失败。它返回错误:批处理参数必须是JSON数组,尽管它是JSON数组。 第四次尝试:

使用fql.multiquery获取新闻提要流、墙流和名称。 问题:我不知道如何使用FQL获得类似于我/提要的视图。我能得到的最好的东西是我自己所有帖子的列表,但它不显示用户被标记的照片,所以我想还有更多的东西丢失了。
非常感谢您的提示。

由于FQL没有进行SQL风格的联接,因此在一个查询中从多个表获取信息目前是不可能的

使用流表上的FQL获取要显示的帖子列表。请确保获取源id。源id可以是用户id、页面id、事件id、组id,并且可能还有更多对象,只是记不得了。您可能还希望对actor\u id、target\u id和viewer\u id执行类似的缓存 将源id缓存在字典式数据缓存中,源id为PK。 在缓存中循环查找那些您没有相关信息的缓存 尝试根据id从用户表中获取信息,然后是页面表、事件表和组表,直到可以找到该id所属的内容为止。将信息存储在缓存中 对于显示,将流表项与源id信息合并在一起。
由于FQL不执行SQL样式的联接,因此在一个查询中从多个表获取信息目前是不可能的

使用流表上的FQL获取要显示的帖子列表。请确保获取源id。源id可以是用户id、页面id、事件id、组id,并且可能还有更多对象,只是记不得了。您可能还希望对actor\u id、target\u id和viewer\u id执行类似的缓存 将源id缓存在字典式数据缓存中,源id为PK。 在缓存中循环查找那些您没有相关信息的缓存 尝试根据id从用户表中获取信息,然后是页面表、事件表和组表,直到可以找到该id所属的内容为止。将信息存储在缓存中 对于显示,将流表项与源id信息合并在一起。
了解完整的要求会有所帮助。您的问题表明您希望使用单个请求同时获取newsfeed和wall,然后您说您没有获取不属于流表的用户名。所以我很困惑,你想要名字,还是流项目?最后的任务是为每个视图显示一个可读的项目列表newsfeed和wall。如果您查询我/主页或我/订阅源,您将获得每个帖子的用户名称。FQL查询只返回id,因此只需在帖子上的id和名称之间进行映射,就可以单独查询名称。这有助于理解完整的要求。您的问题表明您希望使用单个请求同时获取newsfeed和wall,然后您说您没有获取不属于流表的用户名。所以我很困惑,你想要名字,还是流项目?最后的任务是为每个视图显示一个可读的项目列表newsfeed和wall。如果您查询我/主页或我/订阅源,您将获得每个帖子的用户名称。FQL查询只返回id,因此只需在帖子上的id和名称之间映射,就可以单独查询名称。非常感谢您的回答,但FQL multiquery允许一次从多个表中获取信息。参考:在单个fql.multiquery中查询流表和概要文件表没有问题。我唯一的问题是在同一个调用中获取墙项目me/feed。如果可以使用FQL获取墙,我想知道如何,否则我想知道如何在批处理请求中组合FQL.MULTIPQUERY和标准查询在批处理请求中组合FQL.query和标准查询很好。这不是我说的吗?目前无法在一个查询中从多个表中获取信息。你是怎么做到的?请发布一个连接多个表中信息的查询。我不是在说穆特利曲
其中有独立的结果分组,需要进行后期分析才能加入。请告诉我你的查询可以实现这一点,我非常愿意学习。我从来没有说过不需要后解析,这在我的问题中从来都不需要,但它仍然是流项目和相关名称的一个查询。示例:{stream:SELECT post_id,actor_id FROM stream where filter_key='others'ORDER BY created_time DESC,name:SELECT id,name FROM profile where id IN SELECT actor_id FROM stream}是的,只是检查一下,这就是我所说的。没有后期处理是不可能的感谢您的澄清。非常感谢您的回答,但fql multiquery允许同时从多个表获取信息。参考:在单个fql.multiquery中查询流表和概要文件表没有问题。我唯一的问题是在同一个调用中获取墙项目me/feed。如果可以使用FQL获取墙,我想知道如何,否则我想知道如何在批处理请求中组合FQL.MULTIPQUERY和标准查询在批处理请求中组合FQL.query和标准查询很好。这不是我说的吗?目前无法在一个查询中从多个表中获取信息。你是怎么做到的?请发布一个连接多个表中信息的查询。我并不是说有独立的结果分组需要经过后解析才能加入的多查询。请告诉我你的查询可以实现这一点,我非常愿意学习。我从来没有说过不需要后解析,这在我的问题中从来都不需要,但它仍然是流项目和相关名称的一个查询。示例:{stream:SELECT post_id,actor_id FROM stream where filter_key='others'ORDER BY created_time DESC,name:SELECT id,name FROM profile where id IN SELECT actor_id FROM stream}是的,只是检查一下,这就是我所说的。没有后期处理是不可能的谢谢你的澄清。