library - SDK de Facebook para Android GraphUser
instalar sdk de facebook en android studio (2)
Puedo acceder a la identificación, nombre, apellido, género y correo electrónico de un GraphUser usando el siguiente código. Pero también necesito acceso a "ubicación", "número de amigos", "información básica" y "empresa de trabajo" . ¿Cómo puede hacerse esto? He intentado con otros enlaces de stackoverflow y he comprobado el enlace de SDK de Facebook, pero no estoy obteniendo un adelanto. ¿Se me puede proporcionar código para acceder directamente a los campos requeridos de la misma manera que los datos que ya tengo?
¿Qué otros permisos necesitaría?
loginBtn.setReadPermissions(Arrays.asList("public_profile", "email", "user_friends", "user_birthday", "read_friendlists"));
loginBtn.setUserInfoChangedCallback(new UserInfoChangedCallback() {
@Override
public void onUserInfoFetched(GraphUser user) {
if (user != null) {
login_text.setText("Please login to continue");
userDetails = new JSONObject();
try {
Log.d("user birthday", user.getBirthday());
userDetails.put("fbId", user.getId());
userDetails.put("firstName", user.getFirstName());
userDetails.put("lastName", user.getLastName());
userDetails.put("gender", user.getProperty("gender").toString());
userDetails.put("email", user.getProperty("email").toString());
} catch (JSONException e) {
Log.d("Error: ", "Error setting user settings in FBActivity");
}
} else {
//login_text.setText("You are not logged");
}
}
});
EDITAR:
Tengo todo menos la cantidad total de amigos que tiene un individuo. ¿Cómo se puede hacer eso? He revisado sus enlaces y parece que necesito llamar a otro enlace de GraphRequest. Pero no es eso. Quiero el número total de amigos (sin nombres, sin detalles, solo el número). He agregado el permiso "user_friends". ¿Qué código debería escribir para obtener el número?
Esta es una respuesta bastante sencilla y la documentación de Facebook cubre estos detalles. https://developers.facebook.com/docs/reference/android/current . https://developers.facebook.com/docs/graph-api
¡Aquí está la respuesta de todos modos!
Necesitará user_friends para la cantidad de amigos. Devuelve el recuento total de amigos.
El conjunto de permisos predeterminado llamado "información básica" ha sido eliminado y reemplazado por "perfil público" .
user_location para la ubicación.
user_work_history para la empresa de trabajo.
tenga en cuenta: los usuarios pueden optar por no otorgar estos permisos a su aplicación, en cuyo caso deben manejar esos escenarios de manera adecuada, de lo contrario, su aplicación será rechazada en el proceso de revisión.
Para obtener el número de amigos, consulte el siguiente enlace:
https://developers.facebook.com/docs/graph-api/reference/v2.4/user/friends
Los permisos necesarios serían: user_friends
, que ya has incluido.
Conseguirás que los amigos cuenten en el campo ''resumen'' en el nombre de total_count
Pregunta similar: API de Facebook en Android: ¿cómo puedo obtener la cantidad de amigos que tiene un usuario?
loginBtn.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
new GraphRequest(
loginResult.getAccessToken(),
"/me/friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
Log.i("response", response.getJSONArray().toString()); //find the summary ''total_count'' in the response
}
}
).executeAsync();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException exception) {
}
});