2013-06-02 81 views
-1

我正在为Facebook应用程序开发Facebook应用程序。我查询用户得分访问用户图:解析Facebook图形API响应

https://graph.facebook.com/user_id/scores&access_token={user_access_token}

我得到这样的回应:

{ 
"data": [ 
{ 
    "user": { 
    "name": "Michał Szydłowski", 
    "id": "100001699654797" 
    }, 
    "score": 1200, 
    "application": { 
    "name": "QuizzlePeople", 
    "namespace": "quizzlepeople", 
    "id": "176694722487191" 
    } 
}, 
{ 
    "user": { 
    "name": "Michał Szydłowski", 
    "id": "100001699654797" 
    }, 
    "score": 1, 
    "application": { 
    "name": "Friend Smash!", 
    "namespace": "friendsmashsample", 
    "id": "480369938658210" 
    } 
}, 
{ 
    "user": { 
    "name": "Michał Szydłowski", 
    "id": "100001699654797" 
    }, 
    "score": 0, 
    "application": { 
    "name": "Wordox", 
    "namespace": "wordox-the-game", 
    "id": "227993680602156" 
    } 
}, 
{ 
    "user": { 
    "name": "Michał Szydłowski", 
    "id": "100001699654797" 
    }, 
    "score": 0, 
    "application": { 
    "name": "SongPop", 
    "namespace": "songpop", 
    "id": "323595464361460" 
    } 
} 
] 
} 

我如何提取此有用的数据?

我试图把一些东西作为一个JSONObject,使用:

HttpClient client = new DefaultHttpClient();     
     HttpGet get = new HttpGet("https://graph.facebook.com/me?fields=score&access_token=" + token); 
     HttpResponse resp = client.execute(get);   
     Log.i("info1", resp.toString()); 
     // Parse the response 
     HttpEntity responseEntity = resp.getEntity(); 
     String response = EntityUtils.toString(responseEntity); 
     Log.i("info1", response); 
     JSONObject result = new JSONObject(response); 
     JSONArray arr = result.getJSONArray("data"); 
     Log.i("info2", arr.toString()); 

只是为了看看我是否能带走任何东西,比方说,数组命名为“数据”。然而logcat没有显示任何东西。它显示了前2个日志,但不是第3个日志。有任何想法吗?

+0

你为什么不使用Facebook的SDK?这样的示例代码将几乎告诉你如何做到这一点 – Igy

+0

我确实使用它。但是你有什么示例代码? –

回答

1

看起来像JSONObject。你可以通过它循环,并用数据做任何你想做的事情。 查看http://json.org/获取特定语言的文档(我假设您需要java,所以点击java链接)。

我追加的数据表给你一个想法(jQuery的/ JavaScript的):

fiddle:http://jsfiddle.net/H8LNB/4/

+0

谢谢,那当然有帮助! –