Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook graph api 带有FQL批处理请求的Facebook Graphi API_Facebook Graph Api_Facebook Fql_Facebook Batch Request - Fatal编程技术网

Facebook graph api 带有FQL批处理请求的Facebook Graphi API

Facebook graph api 带有FQL批处理请求的Facebook Graphi API,facebook-graph-api,facebook-fql,facebook-batch-request,Facebook Graph Api,Facebook Fql,Facebook Batch Request,我试图在java中对graph API使用批处理请求。实际上是一个HTTPClient发出了一个graphapi请求 我尝试构建一个批处理请求数组,如下所示: String query2 = "SELECT --- from tableX"; String query = "SELECT --- from tableY"; String batch_request= "[{\"method\":\"GET\",\"relative_url\":method/fql.query

我试图在java中对graph API使用批处理请求。实际上是一个HTTPClient发出了一个graphapi请求

我尝试构建一个批处理请求数组,如下所示:

String query2 = "SELECT --- from tableX";

    String query = "SELECT --- from tableY";

    String batch_request= "[{\"method\":\"GET\",\"relative_url\":method/fql.query?query="+query+"},"+
    "{\"method\":\"GET\",\"relative_url\":method/fql.query?query="+query2+"}]";
然后我对请求进行URLEncode:stringquery=URLEncoder.encode(批处理请求)

并将其传递给graph API,如下所示: “+query+”&access_-token=“+accessToken”

我没有得到任何结果:(。它返回错误500


有什么想法吗?

对于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数组


来源:

对于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数组

资料来源: