如何使用 android 中的图表 api 获取好友列表?
How to get friends list using graph api in android?
我正在创建一些代码来使用图表获取朋友列表 api 但没有找到朋友 list.i 只得到了朋友总数。
代码:-
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "user_friends", "email"));
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.e("Success1", "Success" + loginResult.getAccessToken().getToken());
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject json, GraphResponse response) {
progressDialog.dismiss();
if (response.getError() != null) {
// handle error
Log.e("getError", "getError");
} else {
Log.e("Success2", "Success");
try {
String jsonresult = String.valueOf(json);
Log.e("JSON", "" + jsonresult);
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/" + json.getString("id") + "/friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
Log.e("response", "" + response);
}
}
).executeAsync();
} catch (JSONException e) {
e.printStackTrace();
Log.e("JSONException", "" + e.getMessage());
}
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id, first_name, last_name, email,gender, birthday, location,friends"); // Parámetros que pedimos a facebook
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
Log.e("cancel", "On cancel");
progressDialog.dismiss();
}
@Override
public void onError(FacebookException error) {
Log.e("Error", error.toString());
progressDialog.dismiss();
}
});
输出:-
{"data":[],"summary":{"total_count":475}}, error: null}
Facebook Graph API 2.0 更新后,您将可以只获取使用您的应用程序的朋友。
使用 Graph API v2.0 及更高版本,仅调用 /me/friends return 也使用您的应用程序的朋友。这些朋友一定也授予了user_friends权限。如果您想让人们在您的应用发布的故事中标记他们的朋友,您可以使用 Taggable Friends API.
检查此以获取更多信息
https://developers.facebook.com/docs/apps/faq#faq_1694316010830088
我正在创建一些代码来使用图表获取朋友列表 api 但没有找到朋友 list.i 只得到了朋友总数。
代码:-
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "user_friends", "email"));
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.e("Success1", "Success" + loginResult.getAccessToken().getToken());
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject json, GraphResponse response) {
progressDialog.dismiss();
if (response.getError() != null) {
// handle error
Log.e("getError", "getError");
} else {
Log.e("Success2", "Success");
try {
String jsonresult = String.valueOf(json);
Log.e("JSON", "" + jsonresult);
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/" + json.getString("id") + "/friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
Log.e("response", "" + response);
}
}
).executeAsync();
} catch (JSONException e) {
e.printStackTrace();
Log.e("JSONException", "" + e.getMessage());
}
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id, first_name, last_name, email,gender, birthday, location,friends"); // Parámetros que pedimos a facebook
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
Log.e("cancel", "On cancel");
progressDialog.dismiss();
}
@Override
public void onError(FacebookException error) {
Log.e("Error", error.toString());
progressDialog.dismiss();
}
});
输出:-
{"data":[],"summary":{"total_count":475}}, error: null}
Facebook Graph API 2.0 更新后,您将可以只获取使用您的应用程序的朋友。
使用 Graph API v2.0 及更高版本,仅调用 /me/friends return 也使用您的应用程序的朋友。这些朋友一定也授予了user_friends权限。如果您想让人们在您的应用发布的故事中标记他们的朋友,您可以使用 Taggable Friends API.
检查此以获取更多信息 https://developers.facebook.com/docs/apps/faq#faq_1694316010830088