好的,首先,我访问了StackOverflow上的所有相关问题,但我找不到答案。所以请不要将此标记为类似问题的副本。
我正在使用最新的Graph API v2.2获取正在使用我的应用的FB好友列表。
请求Android代码 -
Session activesession=Session.getActiveSession();
if(activesession!=null){
new Request(
activesession,
"/v2.2/me/friends",
null,
HttpMethod.GET,
new Request.Callback() {
@Override
public void onCompleted(Response response) {
// TODO Auto-generated method stub
String strresponse=response.getRawResponse();
JSONObject jsonresponse=null;
try {
jsonresponse = new JSONObject(strresponse);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
).executeAsync();
}
else{
System.out.println("Session is NULL");
}
}
应答为 { "数据":[
] "摘要":{ " total_count":199 } }
我肯定知道我的朋友列表中有一位朋友已经下载了相同的应用程序&通过FB登录到它。
我也尝试使用FB Graph explorer工具&它给了我同样的回应 -
我期待数据阵列中至少有一个用户详细信息。不知道我在这里缺少什么。
请告知。
谢谢!
答案 0 :(得分:0)
试试这个我/ taggable_friend我的朋友/朋友希望它会起作用
Session activesession = Session.getActiveSession();
如果(activesession!= NULL){
新请求(
activesession,
" /v2.2/me/taggable_friend" ;,
空值,
HttpMethod.GET,
new Request.Callback(){
@覆盖
public void onCompleted(响应响应){
// TODO自动生成的方法存根
String strresponse = response.getRawResponse();
JSONObject jsonresponse = null;
尝试{
jsonresponse = new JSONObject(strresponse);
} catch(JSONException e){
// TODO自动生成的catch块
e.printStackTrace();
}
}
}
).executeAsync();
}
其他{
System.out.println(" Session为NULL");
}
}
感谢
答案 1 :(得分:0)
在facebook
中尝试使用v2.2Bundle bundle = new Bundle();
bundle.putString("fields", "name,picture,id");
new Request(session, "/me/friends", bundle, HttpMethod.GET, new Callback() {
@Override
public void onCompleted(Response response) {
System.out.println("response=============="+response);
}
}).executeAsync();
答案 2 :(得分:0)
试试这个
public void getFriends() {
Session activeSession = Session.getActiveSession();
if (activeSession.getState().isOpened()) {
new Request(
activeSession,
"/me/friends",
null,
HttpMethod.GET,
new Request.Callback() {
public void onCompleted(Response response) {
GraphObject graphObject = response.getGraphObject();
if (graphObject != null) {
try {
JSONObject jsonObject = graphObject.getInnerJSONObject();
JSONArray data = jsonObject.getJSONArray("data");
for (i = 0; i < data.length(); i++) {
final String name = data.getJSONObject(i).getString("name");
final String id = data.getJSONObject(i).getString("id");
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}
).executeAsync();
}
}