How can I execute a FQL query with Facebook Graph API

后端 未结 5 895
南旧
南旧 2021-01-29 23:26

I\'m looking without any success for a way to execute a FQL(facebook query language) query with the new Open Graph API.

Does anyone know how I can do this?

Found

5条回答
  •  挽巷
    挽巷 (楼主)
    2021-01-30 00:08

    This is another way to execute multiple fql queries in short span.

    //$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 gets json array of whole result of thre queries.

    And it is saving time a lot. This 3 queries individually takes total 9 seconds. With multiquery it takes 7 seconds. And with batch request it takes 3.6 seconds.

提交回复
热议问题