0

我正在使用SDK 3.0.1向Android api提出请求,并且我正在使用executeAndWait()运行它,但请求不起作用(在调试中它直接跳转到下一行,甚至没有毫秒..)和回调不被称为。你能帮我解决吗?facebook请求无法正常工作

我正在发出一个请求,以获取在eventCollection.getAroundMeEventList()中收集的事件列表的用户rsvp_status。请求是正确的(我在打开的图中试过)。

我从来没有进入回调内部,所以即使里面有一个错误我不关心它,我想知道如何使这个请求工作。

这里是我的代码:

FQL字符串要求:

String rsvpRequest = "{"; 

      for (EventData event : eventCollection.getAroundMeEventList()) { 
       rsvpRequest += "\"" 
         + event.event_ID 
         + "\":" 
         + "\"SELECT rsvp_status FROM event_member where eid = " 
         + event.event_ID + " and uid = me()\","; 
      } 
      rsvpRequest += "}"; 

      bundle = new Bundle(); 
      bundle.putString("q", rsvpRequest); 

Facebook的Request.Callback:

  Callback callback = new Callback() { 
       @Override 
       public void onCompleted(Response response) { 
        try { 
         JSONObject jObject = response.getGraphObject() 
           .getInnerJSONObject(); 
         JSONArray jArray = jObject.getJSONArray("data"); 
         jArray = jArray.getJSONArray(0); 

         for (int i = 0; i < jArray.length(); i++) { 
          jObject = jArray.getJSONObject(i); 
          String ID = jObject.getString("name"); 
          JSONArray jj = jsonObject 
            .getJSONArray("fql_result_set"); 
          if (jj.length() == 0) { 
           eventCollection.getAroundMeEventByID(ID).status_attending = "Not Invited"; 
          } else { 
           jObject = jj.getJSONObject(0); 
           eventCollection.getAroundMeEventByID(ID).status_attending = jObject 
             .getString("rsvp_status"); 
          } 

         } 
        } catch (Exception e) { 

        } 
       } 
      }; 

的Facebook 请求

  Request request = new Request(Session.getActiveSession(), "fql", bundle, 
        HttpMethod.GET, callback); 
      request.executeAndWait(); 

回答

0

正确的方法来调用,这是下面的:

Request request = new Request(Session.getActiveSession(), "fql", bundle, 
       HttpMethod.GET); 
Response response = request.executeAnWait(); 

希望这有助于