Facebook SDK の RequestBatch クラスで複数のリクエストを実行したい。
しかし、奇妙な問題が発生しています。これは、requestBatch が 2 番目の応答に対して常に「エラー データ」を返すことです。エラー応答は次のとおりです。
{Response: responseCode: 200, graphObject: null, error: {HttpStatus: 400, errorCode: 601, errorType: OAuthException, errorMessage: (#601) Parser error: unexpected end of query.}, isFromCache:false}
そして、私のソースがあります。このコードでは、2 つのリクエストを実行しました。1 つのリクエストを実行すると、RequestBatch は正しいデータを返すため、2 つのリクエストは正しいと確信しています。2 つのリクエストを実行すると問題が発生し、2 番目のリクエストのみがエラー応答を受け取ります。
String mutualFriendPatternQuery="SELECT name,mutual_friend_count FROM user WHERE uid IN(1797105393,100000027665293)";
Bundle args1=new Bundle();
args1.putString("q", mutualFriendPatternQuery);
Request request1 = new Request(session, "fql", args1, HttpMethod.GET);
requests.add(request1);
String commonLikesQuery="SELECT page_id FROM page_fan WHERE uid = 100004429063597 AND page_id IN (SELECT page_id FROM page_fan WHERE uid = me())";
Bundle args2=new Bundle();
args2.putString("q", commonLikesQuery);
Request request2 = new Request(session, "fql", args2, HttpMethod.GET);
requests.add(request2);
RequestBatch requestBatch=new RequestBatch(requests);
requestBatch.setTimeout(60000);
List<Response> responses = requestBatch.executeAndWait();
このコードの背後で、response.get(1) がエラー応答を返します。間違いを見つけるのを手伝ってください。
更新
Graph API Explorer で 2 つのビハインド リクエストをテストしました。それらは問題ありませんが、Androidでエラーが発生します。「バッチ」パラメータがあります:
[{"method":"POST","relative_url":"method/fql.query?query=SELECT name, mutual_friend_count FROM user WHERE uid IN(1511547166,100004190323671)"}
,{"method":"POST","relative_url":"method/fql.query?query=SELECT page_id FROM page_fan WHERE uid= 652869235 AND page_id IN (SELECT page_id FROM page_fan WHERE uid = me())"}
修正済み それは私の愚かなせいです。args1 を args2 に変更して修正します。