Facebook API FQL multiquery获取actor名称和ID

时间:2012-03-06 20:35:47

标签: php facebook facebook-graph-api

我正在使用Facebook PHP API进行FQL查询,如下所示:

$stream = $this->facebook->api('fql', array(
    "q" => "SELECT post_id, actor_id, message, description, description_tags, type, attachment 
            FROM stream 
            WHERE filter_key in (
                 SELECT filter_key 
                 FROM stream_filter
                 WHERE uid=me() AND type='newsfeed'
           ) AND is_hidden = 0"
));

这为我提供了用户的新闻Feed。但是,这只会为我提供actor的ID - 我需要演员的名字。 (演员,我指的是新闻提要中故事的作者。)

我知道我需要再次查询API以检索名称。我如何执行这样的多重查询?使用此示例,我如何获取演员姓名?

1 个答案:

答案 0 :(得分:0)

大多数人最初的反应是建议一个多查询。但是我不建议它出于以下原因:你可能已经知道了演员的名字。

假设你做了很多这些调用以获取流项目(我的一个生产应用程序确实如此,并且我按照我描述的方式对其进行了编码)。您不想做的是重载API并使Facebook对您的应用ID不满意并开始降低您的通话限制!

因此,您可以做的是基于actor_id缓存(使用memcached,Web应用程序缓存,数据库或其他)用户名(因为id的名称很少更改为给定ID)。这对于查找其他facebook fql对象(如注释,喜欢等)的/来自id也很有价值。