Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理Android Facebook API';s响应对象_Android_Facebook_Facebook Graph Api - Fatal编程技术网

处理Android Facebook API';s响应对象

处理Android Facebook API';s响应对象,android,facebook,facebook-graph-api,Android,Facebook,Facebook Graph Api,当前的Facebook API v3.0.2.b将返回一个保存响应的com.Facebook.Response对象。你知道怎么解析这个吗?以下代码将引发异常:( 错误消息显示: org.json.JSONException: Unterminated object at character 25 of {Response: responseCode: 200, graphObject: GraphObject{graphObjectClass=GraphObject, state={"data

当前的Facebook API v3.0.2.b将返回一个保存响应的com.Facebook.Response对象。你知道怎么解析这个吗?以下代码将引发异常:(

错误消息显示:

org.json.JSONException: Unterminated object at character 25 of {Response:  responseCode: 200, graphObject: GraphObject{graphObjectClass=GraphObject, state={"data":[{"pic_square":.....
有人知道什么是正确的解决方案吗?我要用吗

GraphObject go = response.getGraphObject();
…我怎样才能得到GraphUser对象

抱歉,这似乎是一个微不足道的问题,但facebook文档中对响应对象的处理记录得很差,我无法在web上收到任何关于此的信息:(

提前非常感谢


你好,克里斯托弗这是对我有效的解决方案- 我不得不调查反应,并尝试一些方法,但最终解决了它:)


尝试查看
response.responseCode
在你的
onCompleted
方法中的值。你能在那里看到200吗?嗨,普拉蒂克,谢谢你的回答。是的-代码是200,同时,我解决了这个问题:)我想发布我的解决方案,但我还不能回答我自己的问题:(很好,你解决了你的问题。我认为你只得到了作为对象的响应,所以不需要像下面这样转换字符串
response.toString()
。这就是我想用
response.responseCode
。处理响应的正确顺序是:GraphObject go=response.getGraphObject();JSONObject jso=go.getInnerJSONObject();JSONArray arr=jso.getJSONArray(“数据”);我将在六小时后发布一个可接受的方法-抱歉,但我的声誉仍然太低:)无论如何,感谢Christopherth的好代码。感谢分享。
GraphObject go = response.getGraphObject();
/************************************************************************
*   Parses the user data from the facebook FQL
*
*   "SELECT uid, name, pic_square FROM user WHERE uid IN ( SELECT uid2 FROM friend WHERE uid1 = me() )"
*
*   This is the example query from
*   {@link http://developers.facebook.com/docs/howtos/androidsdk/3.0/run-fql-queries/}
*
*   @param  response    The facebook response from the FQL
************************************************************************/
public static final void parseUserFromFQLResponse( Response response )
{
    try
    {
        GraphObject go  = response.getGraphObject();
        JSONObject  jso = go.getInnerJSONObject();
        JSONArray   arr = jso.getJSONArray( "data" );

        for ( int i = 0; i < ( arr.length() ); i++ )
        {
            JSONObject json_obj = arr.getJSONObject( i );

            String id     = json_obj.getString( "uid"           );
            String name   = json_obj.getString( "name"          );
            String urlImg = json_obj.getString( "pic_square"    );

            //...

        }
    }
    catch ( Throwable t )
    {
        t.printStackTrace();
    }
}
JSONObject  jso = response.getJSONObject();
JSONArray   arr = jso.getJSONArray("data");