Java 如何在android中获取Facebook信息
我试图从我的android facebook上获取信息, 我的代码:Java 如何在android中获取Facebook信息,java,android,Java,Android,我试图从我的android facebook上获取信息, 我的代码: loginButton.setReadPermissions(Arrays.asList("email", "user_photos", "public_profile")); loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { @Override public
loginButton.setReadPermissions(Arrays.asList("email", "user_photos", "public_profile"));
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Toast.makeText(getApplicationContext(),""+loginResult.getAccessToken(),Toast.LENGTH_SHORT).show();
String accessToken = loginResult.getAccessToken().getToken();
GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
Log.i("LoginActivity", response.toString());
// Get facebook data from login
try {
object.get("gender");
object.get("email");
} catch (JSONException e) {
e.printStackTrace();
}
// Bundle bFacebookData = getFacebookData(object);
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id, first_name, last_name, email,gender, birthday, location"); // Parámetros que pedimos a facebook
request.setParameters(parameters);
request.executeAsync();
}
有什么解决办法吗?或者此案例与facebook隐私设置有关?请尝试手动构建登录流。这样您就不会被困在
sdk
上
https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow
试着替换
loginResult.getAccessToken()
与
Facebook不允许开发人员直接登录“session.getAccessToken”,因为这可能会导致泄漏。您还可以查看此项了解更多信息:
loginResult.getAccessToken()
loginResult.getAccessToken().getToken() .