我想在android应用程序中显示包含名称,ID,生日,位置等信息的列表.
虽然下面的代码我得到了朋友的名字和身份证,但我在工作中取得了成功
Bundle parameters = new Bundle();
mAccessToken = facebook.getAccessToken();
try {
parameters.putString("format", "json");
parameters.putString(TOKEN, mAccessToken);
String url = "https://graph.facebook.com/me/friends";
String response = Util.openUrl(url, "GET", parameters);
JSONObject obj = Util.parseJson(response);
Log.i("json Response", obj.toString());
JSONArray array = obj.optJSONArray("data");
if (array != null) {
for (int i = 0; i < array.length(); i++) {
String name = array.getJSONObject(i).getString("name");
String id = array.getJSONObject(i).getString("id");
Log.i(name,id);
}
}
............
............
Run Code Online (Sandbox Code Playgroud)
但不能在json响应中获取生日,位置等字段.什么是错误?
使用FQL语言快速获取所需的所有信息:
$this->api->api(array('method'=>'fql.query','query'=>"SELECT uid,name,first_name,middle_name,last_name,pic_square,hometown_location,current_location,profile_url,email,website FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"));
Run Code Online (Sandbox Code Playgroud)
有关具有相应列名的所有表的列表,请参阅:Facebook FQL参考
小智 6
当我想获得我的朋友列表,并过滤他们的名字和网站时,这对我有用:https://graph.facebook.com/me/friends?fields = name,website &access_token = someCrazyLongRandomlyGeneratedString
看起来你应该这样做,你只需将'name,website'替换为'name,id,birthday,location'或者你想从User对象中包含的字段列表中得到的任何内容:http://developers.facebook.com/docs/reference/api/user/.我相信id会自动包含在响应中,因此您不必将其实际包含在请求中.
归档时间: |
|
查看次数: |
44462 次 |
最近记录: |