Facebook Graphi API with FQL Batch Requests



我正在尝试在java中使用针对图形API的批处理请求。实际上,它是一个发出图形API请求的HTTPClient。

我尝试像这样构造一个批处理请求数组:

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+"}]";

然后我URL编码请求:字符串查询= URLEncoder.encode(batch_request)

并将其传递给图形 API,如下所示:https://graph.facebook.com/?batch="+查询+"&access_token="+访问令牌

:(我没有得到任何结果。它返回错误 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 获取 thre 查询的整个结果的 json 数组。

来源: https://stackoverflow.com/a/9635233/1045444

最新更新