32

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

有谁知道我该怎么做?

通过这个出色的示例在这里找到了答案: http ://code.google.com/p/facebook-cpp-graph-api/

4

5 回答 5

31

这是一个如何使用 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 指南设置了您的页面 - http://developers.facebook.com/docs/reference/javascript/

于 2010-05-26T02:37:35.477 回答
17

PHP解决方案:

$data = $facebook->api(array('method' => 'fql.query', 'query' => 'SELECT columns FROM table...' ));
于 2010-05-17T20:30:40.943 回答
12

使用 Javascript SDK,您可以使用以下方法完成此操作:

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

不需要旧版 REST API。我在这方面看到了很多混乱,Facebook 并没有说得很清楚。

于 2012-10-02T17:43:21.320 回答
1

这是在短时间内执行多个 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 获取 thre 查询的整个结果的 json 数组。

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

于 2012-03-09T14:16:37.030 回答
0

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

于 2013-04-23T18:08:43.347 回答