Facebook graph api 如何使用Facebook Graph API执行FQL查询

Facebook graph api 如何使用Facebook Graph API执行FQL查询,facebook-graph-api,facebook-fql,Facebook Graph Api,Facebook Fql,我正在寻找一种使用新的OpenGraphAPI执行FQL(facebook查询语言)查询的方法,但没有成功 有人知道我怎么做吗 通过这个极好的例子找到了答案: PHP解决方案: $data = $facebook->api(array('method' => 'fql.query', 'query' => 'SELECT columns FROM table...' )); 下面是一个如何使用Graph API和JavaScript执行FQL查询的示例 FB.api(

我正在寻找一种使用新的OpenGraphAPI执行FQL(facebook查询语言)查询的方法,但没有成功

有人知道我怎么做吗

通过这个极好的例子找到了答案: PHP解决方案:

$data = $facebook->api(array('method' => 'fql.query', 'query' => 'SELECT columns FROM table...' ));

下面是一个如何使用Graph API和JavaScript执行FQL查询的示例

FB.api(
        {
            method: 'fql.query',
            query: 'SELECT uid, first_name, last_name FROM user WHERE uid = ' + someUid
        },
        function(data) {
            //    do something with the response
        }
);

这假设您已经按照此处所示的Facebook指南设置了页面-

这是在短时间内执行多个fql查询的另一种方法

//$current_user=facebook id

 $query1="SELECT uid, name FROM user WHERE is_app_user=1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = $current_user)";
 $query2="SELECT uid, name, work_history FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = $current_user )";
 $query3="SELECT uid, name, work, education FROM user WHERE uid = $current_user";
 $queries = array(
           array('method'=>'GET', 'relative_url'=>'method/fql.query?query='.str_replace(' ','+',$query1)),
           array('method'=>'GET', 'relative_url'=>'method/fql.query?query='.str_replace(' ','+',$query2)),
           array('method'=>'GET', 'relative_url'=>'method/fql.query?query='.str_replace(' ','+',$query3))
            );

            $objs = $facebook->api('/?batch='.json_encode($queries), 'POST');
$objs获取整个查询结果的json数组


而且这也节省了很多时间。这3个查询单独进行总共需要9秒。使用multiquery需要7秒钟。批处理请求需要3.6秒。

使用Javascript SDK,您可以通过以下方式完成此任务:

 FB.api('fql', { q: 'query here' }, function (response)
{
 //Logic here
};

不需要遗留的RESTAPI。我在这方面看到了很多困惑,Facebook也没有说得很清楚。

这里我展示了如何使用FQL。如果您仔细查看当前的facebook api文档,这是非常简单的。有时候,最好不要阅读关于facebook api问题的文章,而直接查看文档。

您读过Graph api文档吗?当然,我知道了,但我不知道如何使用graph API来实现。但是,正如许多人提到的,FQL api仍然可用。ok在这个开源中找到了答案:新的Graph api支持FQL吗?我所说的支持,并不是指不推荐的支持。这是我发现的唯一一种对我不起作用的方法。我必须使用:
$facebook->api('/fql?q='.urlencode($fql))
@happyhardik是一个使用javascript和facebook的pythonsdk库的图形api示例。这不是图形API。仅在Graph API和REST API下的FQL查询层。这不会导致GraphAPI调用。以这种方式使用的FB.api将调用不推荐使用的REST api。有一点不同,例如,GraphAPI调用支持ETag,因此您可以在客户端缓存API调用结果。您好,RoflTime,您可以公开答案的资源吗?我在facebook开发者指南上找不到这样的例子。没有任何关于fql和javascript sdk的文章。。。我想得到官方的文档链接,谢谢@阿蒂,我真的不知道有什么官方文件。我是从Facebook开发者在他们的一些博客上的评论中得到这一信息的,这些评论来自于询问有关javascript sdk和FQL的用户。这个解决方案对我来说已经有一年多的时间了。我知道你可能正在寻找一些官方的东西,这样你就不会开发出一些在生产线上出现故障的东西。据我所知,JavaScript SDK和FQL不会有任何进展,所以我认为现在一切都好,但遗憾的是没有保证。ROFLwTIME,感谢您的投入和经验分享。当我找到你的答案时,你的回答对我帮助很大。遗憾的是facebook与他们的文档不一致。。。根据他们的示例/指南/教程,可以用100种不同的方式实现相同的功能。。。当我询问官方链接时,我对他们的api还不熟悉。。。我已经明白,这是一个太多的期望)facebook的家伙,请付出更多的努力,以保持严格的文件,你不是苏公司了。。。