2014-03-27 4 views
2

페이지 ID와 페이지 사진의 목록에서 페이지 이름과 페이지 사진을 반환하는 메소드를 만들려고합니다. 요청이 null로 반환되는 것 같습니다. 문제에 대한 해결책은 무엇을 달성하려고하는지 더 나은 방법에 대한 제안. facebook 일괄 요청에서 null 객체를 반환합니다.

public void getPages(){ 


    for(int f=0;f<Json.PI;f++){ 
     final int j = f; 
    final Request photo = new Request(
      null, 
      "/" + PhotoId, 
      null, 
      HttpMethod.GET, 
      new Request.Callback() { 
       public void onCompleted(Response response) { 

        GraphObject graphObject = response.getGraphObject(); 
        JSONObject jsonObject = graphObject.getInnerJSONObject(); 

        try { 
         PageInfo[j][1] = (String) jsonObject.get("picture"); 

         Log.i("PICTURE", PageInfo[j][1]); 
        } catch (JSONException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 




       } 
      } 
     ); 

    final Request photos = new Request(
      MainFragment.activeSession, 
      "/"+likes[f]+"/photos/uploaded", 
      null, 
      HttpMethod.GET, 
      new Request.Callback() { 
       public void onCompleted(Response response) { 

        GraphObject graphObject = response.getGraphObject(); 
        JSONObject jsonObject = graphObject.getInnerJSONObject(); 
        try { 
         JSONArray array = jsonObject.getJSONArray("data"); 
         JSONObject object = (JSONObject) array.get(0); 
         Log.i("PHOTOID", (String) object.get("id")); 
         PhotoId = (String) object.get("id"); 

        } catch (JSONException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 
        Log.i("PNAME", String.valueOf(response)); 



       } 
      } 
     ); 

    Request PageID = new Request(MainFragment.activeSession, "/"+likes[f], null, HttpMethod.GET, new Request.Callback() { 


       public void onCompleted(Response response) { 

        Log.i("RESP", String.valueOf(response)); 


       } 

    } 
     ); 



    Requests.add(PageID); 
    Requests.add(photos); 
    Log.i("TAG", "ADDED"); 
    } 
    Requests.executeAsync(); 

이유가 null 반환

{Response: responseCode: 400, graphObject: null, error: {HttpStatus: -1, errorCode: -1, errorType: null, errorMessage: Unexpected number of results}, isFromCache:false} 

다음과 같이 페이스 북의 응답은?

select page_id, name, pic from page where page_id in ({your_comma_separated_list_of_page_ids}) 

이 다음 하나 개의 요청을해야합니다

답변

1

왜 당신은 FQL 쿼리를 사용하지 마십시오.

GET /fql?q={your_urlencoded_query}&access_token={your_access_token} 

끝점을 사용하십시오.

+1

감사합니다. 훌륭한 대안입니다. – user3139917