2013-07-04 9 views
0

Я работал над получением объекта JSON для извлечения информации с сервера, и я успешно проанализировал его. Но мне было поручено разобрать объект JSON, который мы получаем из графика. Facebook.com. Но когда я пытаюсь разобрать его, он показывает ошибку, как этотНе удается разобрать graph.facebook

ошибка OAuthException (# 210) Тема должна быть страница».

Я не знаю, почему я получаю это ошибка. возможно ли получить JSON из graph.facebook.com. This страница получает информацию в формате JSON. Но я не могу разобрать его. Мой код для разбора это выглядит следующим образом.

Parser.java

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.io.UnsupportedEncodingException; 

import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.json.JSONException; 
import org.json.JSONObject; 

import android.util.Log; 

public class JSONParser { 
    static InputStream is = null; 
    static JSONObject jObj = null; 
    static String json = ""; 

    // constructor 
    public JSONParser() { 
    } 

    public JSONObject getJSONFromUrl(String url) { 
     // Making HTTP request 
     try { 
      // defaultHttpClient 
      DefaultHttpClient httpClient = new DefaultHttpClient(); 
      HttpPost httpPost = new HttpPost(url); 

      HttpResponse httpResponse = httpClient.execute(httpPost); 
      HttpEntity httpEntity = httpResponse.getEntity(); 
      is = httpEntity.getContent();   

     } catch (UnsupportedEncodingException e) { 
      e.printStackTrace(); 
     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

     try { 
      BufferedReader reader = new BufferedReader(new InputStreamReader(
        is, "iso-8859-1"), 8); 
      StringBuilder sb = new StringBuilder(); 
      String line = null; 
      while ((line = reader.readLine()) != null) { 
       sb.append(line + "\n"); 
      } 
//   is.close(); 
      json = sb.toString(); 
     } catch (Exception e) { 
      Log.e("Buffer Error", "Error converting result " + e.toString()); 
     } 
     // try parse the string to a JSON object 
     try { 
      jObj = new JSONObject(json); 
     } catch (JSONException e) { 
      Log.e("JSON Parser", "Error parsing data " + e.toString()); 
     } 
     System.out.print(jObj.toString()); 
     // return JSON String 
     return jObj; 
    } 
} 

Пожалуйста, скажите мне, что я могу сделать, чтобы решить эту проблему. Мне это очень нужно.

+0

показать нам URL-адрес, на который вы нажимаете json. –

+0

Хорошо, думаю, я понял это. Вы нажимаете POST для типа URL-адреса GET. Измените свой HTTP POST на HttpGet. –

+0

@MurtazaHussain: http://graph.facebook.com/fundamentalalvarado/?fields=albums.fields(photos.fields(source)) – user2522586

ответ

0

Вы используете HTTP-сообщение для получения API.

Измените свой HTTP POST на HttpGet.

С уважением

Смежные вопросы