簡體   English   中英

帶有RequestBatch Facebook的解析器錯誤

[英]Parser error with RequestBatch facebook


我想在Facebook SDK中使用RequestBatch類執行多個請求。
但是我遇到了一個奇怪的問題。那就是requestBatch總是為第二次響應返回“錯誤數據”。 錯誤響應為:

{Response:  responseCode: 200, graphObject: null, error: {HttpStatus: 400, errorCode: 601, errorType: OAuthException, errorMessage: (#601) Parser error: unexpected end of query.}, isFromCache:false}

這是我的消息來源。 在這段代碼中,我執行了2個請求。 我確定2個請求是正確的,因為如果我執行一個請求,RequestBatch將返回正確的數據。 如果我執行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進行修復。

我認為這是您的問題:

Bundle args2=new Bundle();
args1.putString("q", commonLikesQuery); // <----- this should be args2.putString(...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM