【问题标题】:Facebook Graphi API with FQL Batch Requests带有 SQL 批处理请求的 Facebook Graph API
【发布时间】:2012-06-26 14:32:02
【问题描述】:

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

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

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:String query = URLEncoder.encode(batch_request)

并将其传递给图形 API,如下所示: https://graph.facebook.com/?batch="+query+"&access_token="+accessToken

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

有什么想法吗?

【问题讨论】:

    标签: facebook-graph-api facebook-fql facebook-batch-request


    【解决方案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 获取整个查询结果的 json 数组。

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

    【讨论】:

      猜你喜欢
      • 2013-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-21
      • 1970-01-01
      • 2015-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多