gpt4 book ai didi

android - 无法在 Android 中从 Facebook 获取好友列表。获取带计数的空白数组

转载 作者:行者123 更新时间:2023-11-29 02:42:10 36 4
gpt4 key购买 nike

我试过使用这些引用资料: https://developers.facebook.com/docs/graph-api/reference/user/friends

How to get friend list from Facebook using Android Facebook sdk?

How to fetch facebook friend list in android ? I am using facebook sdk 4.0.1

我也尝试过其他引用资料,但无法找到解决我的问题的方法。

这是我的代码

LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(final LoginResult loginResult) {

GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {

System.out.println("Facebook recponse = "+response);

try {
sSocialId = object.getString("id");
if (object.has("email")) {
sEmail = object.getString("email");
}
sSocialType = "fb";
sFirstname = object.getString("first_name");
sLastname = object.getString("last_name");
String gender = object.getString("gender");
sGender = gender;
sUserImageUrl = "https://graph.facebook.com/" + sSocialId + "/picture?type=large";

} catch (JSONException e) {
e.printStackTrace();
}

AccessToken token1 = AccessToken.getCurrentAccessToken();
/*
make the API call
*/

new GraphRequest(loginResult.getAccessToken(),
"/me/friendlists",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {

try {
JSONArray rawName = response.getJSONObject().getJSONArray("data");

String friendList = "{\"friendlist\":" + rawName.toString() + "}";
Log.d("TAG","response of friendlist is : " + friendList);

} catch (JSONException e) {
e.printStackTrace();
}
}
}
).executeAsync();

Toast.makeText(HomeActivity.this,"Login successfull...",Toast.LENGTH_LONG).show();
}

});

Bundle parameters = new Bundle();
parameters.putString("fields", "id, first_name, last_name,gender, email,picture,friends{id,name,picture}");
request.setParameters(parameters);
request.executeAsync();

}

@Override
public void onCancel() {

Toast.makeText(HomeActivity.this, "Facebook login cancelled", Toast.LENGTH_SHORT).show();
}

@Override
public void onError(FacebookException exception) {
Toast.makeText(HomeActivity.this, "Error in Facebook login", Toast.LENGTH_SHORT).show();
}

});

最佳答案

public void getFriendList(String id) { //fbId 
fbFriendsList = new ArrayList<>();
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/" + id + "/friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
Log.e("response", response.toString());

try {
JSONArray frienArray = ((JSONArray) (response.getJSONObject().get("data")));
for (int i = 0; i < frienArray.length(); i++) {
FbFriends fbFriends = new FbFriends();
JSONObject jsonObject = frienArray.getJSONObject(i);

fbFriends.setFbId(jsonObject.getString("id"));
fbFriendsList.add(fbFriends);

}

} catch (JSONException e) {
e.printStackTrace();
}
/* handle the result */


}
}
).executeAsync();


}

这里的fbFreindsList是一个modelClass fbFriends的List,这里我只取了fbfriends的id,你也可以根据自己的需要获取数据

关于android - 无法在 Android 中从 Facebook 获取好友列表。获取带计数的空白数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43389306/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com