正如主题所说,我正在尝试从Facebook页面获取最新的评论,以及相关的用户数据。我使用的是Open Graph & PHP SDK。
这对帖子很好用:
$fql_query = "
SELECT fromid, id, post_id, time, text
FROM comment
WHERE post_id IN (SELECT post_id FROM stream WHERE source_id = '" . $fb_id . "')
ORDER BY time DESC LIMIT 1000";
$feed = $facebook->api(array(
'method' => 'fql.query',
'query' => $fql_query
));下面是如何获取我需要的用户详细信息:
$fql_query = "
SELECT pic_square, name
FROM user
WHERE uid = '" . $user_id . "'
";而且,根据我所能找到的一切,这应该使用fql.multiquery将两者结合起来:
$fql_queries = "{
\"query1\" : \"
SELECT fromid, id, post_id, time, text
FROM comment
WHERE post_id IN (SELECT post_id FROM stream WHERE source_id = '" . $fb_id . "')
ORDER BY time DESC LIMIT 1000
\",
\"query2\" : \"SELECT pic_square, name FROM user WHERE uid IN (SELECT fromid FROM #query1)\"
}";
$feed = $facebook->api(array(
'method' => 'fql.multiquery',
'queries' => $fql_queries
));但它只返回一个空数组。有没有人知道我哪里错了,或者有更好的方法来做我需要的事情?蒂娅,一如既往。
发布于 2013-01-09 12:36:15
我在我的一个页面上的Graph API浏览器中测试了它,它工作得很好。
这种多重查询在Graph API浏览器中的页面上有效吗?如果是,则这是权限问题。
也许您的问题在于您对json进行硬编码的方式。我在我的网站上使用这样的语法。(它也更具可读性):
$fql_queries = array(
'query1' => "SELECT fromid, id, post_id, time, text...",
'query2' => "SELECT pic_square, name FROM user..."
);
...
'queries' => json_encode($fql_queries)https://stackoverflow.com/questions/14228176
复制相似问题