首页 文章

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

提问于
浏览
32

我正在寻找一种使用新的Open Graph API执行FQL(facebook查询语言)查询的方法 .

有谁知道我怎么做到这一点?

通过这个优秀的例子找到答案:http://code.google.com/p/facebook-cpp-graph-api/

5 回答

  • 1

    以下是如何使用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/

  • 17

    PHP解决方案:

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

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

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

    不需要遗留REST API . 我看到很多这方面的困惑,Facebook还没有说清楚 .

  • 12

    这是在短时间内执行多个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秒 . 使用multiquery需要7秒 . 批量请求需要3.6秒 .

  • 0

    FQL with PHP这里我展示了如何使用FQL . 如果你仔细看看当前的facebook api文档,这很简单 . 有时最好不要阅读关于facebook api问题的文章,直接看文档 .

相关问题