2014-05-30 3 views
0

У меня есть метод для получения профиля страницы из базы facebook на странице username. Метод, как показано ниже:Неверный ответ на Facebook График при выборе профиля страницы

public static void fetchProfile(Context context, String username, Request.Callback callback){ 
      String graphPath = BASE_URL + username; 
      Log.v("FacebookController","tungtran profile:"+graphPath); 
      Session session = Session.getActiveSession(); 
      Request request = new Request(session, graphPath, null, HttpMethod.GET, callback); 
      Request.executeBatchAsync(request); 
     } 

    private void fetchAProfile(String username) { 
     showWaiting("Loading profiles"); 
     Request.Callback callback = new Request.Callback() { 
      @Override 
      public void onCompleted(Response response) { 
       FlyApp.log("tungtran profile - response:" + response.toString()); 
       hideWaiting(); 
      } 
     }; 
     fetchProfile(this, username, callback); 
    } 

И я назвал в своем классе:

fetchAProfile("ChelseaFC"); 

Он работал отлично и раньше, но по некоторым причинам он не работает несколько дней назад. Бревно в LogCat показать мне путь графа, как показано ниже:

https://graph.facebook.com/ChelseaFC 

И ответ выглядит очень странно:

{Response: responseCode: 200, graphObject: GraphObject{graphObjectClass=GraphObject, state={"id":"https:\/\/graph.facebook.com\/v2.0\/ChelseaFC"}}, error: null, isFromCache:false} 

Если я вставляю путь к Facebook Graph API Explorer, или в браузере возвращения запроса очень ОТЛИЧИТЕЛЬНЫЙ ответ.

увидеть ссылку https://graph.facebook.com/ChelseaFC

Я провел несколько дней, чтобы найти проблему, но я не получил никакой удачи.

Может ли какой-либо орган узнать, с какими проблемами столкнулся я? Спасибо в продвижении за любую помощь.

+0

Что случилось? Похоже, у вас есть функция graphObject. – WizKid

+0

Да, я получил ответ, но он должен быть возвращен полной информацией JSON как ссылка: [link] (https://graph.facebook.com/ChelseaFC) –

+0

Почему это должен быть JSON? Вы используете Android SDK, так что вы возвращаетесь - это объект Response, о котором вы можете прочитать на странице https://developers.facebook.com/docs/reference/android/3.0/class/Response/. Если вам нужен базовый JSON, вам нужно выполнить response.getGraphObject(). GetInnerJSONObject(), который вернет JSONObject – WizKid

ответ

0

Спасибо вам,

Я решил проблему.

Проблема в столбце String graphPath = BASE_URL + имя пользователя;

Нам это не нужно.

Я изменил метод, как показано ниже:

public static void fetchProfile(Context context, String username, Request.Callback callback){ 
      Session session = Session.getActiveSession(); 
      Request request = new Request(session, username, null, HttpMethod.GET, callback); 
      Request.executeBatchAsync(request); 
     }