使用没有图谱API的Facebook登录后获取用户信息,如姓名,照片和个人资料图片

时间:2017-11-21 10:53:49

标签: android facebook api facebook-graph-api

我在我的应用中使用面部登​​录SDK

  

com.facebook.android:facebook-login:4,5)

在我的应用中集成Facebook登录API后,我在对象LoginResult中得到成功回应

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

                    Toast.makeText(LoginActivity.this, "permitted attributes " +
                            loginResult.getRecentlyGrantedPermissions(), Toast.LENGTH_LONG).show();

                }

                @Override
                public void onCancel() {
                    Toast.makeText(LoginActivity.this, "Login Cancel", Toast.LENGTH_LONG).show();
                }

                @Override
                public void onError(FacebookException exception) {
                    Toast.makeText(LoginActivity.this, exception.getMessage(), Toast.LENGTH_LONG).show();
                }
            });

但我想知道有没有办法获取用户信息,如

  

userPhoto,用户名,电子邮件

我见过Facebook API文档,似乎我需要使用Graph API。还有其他方法可以通过Facebook登录SDK完成这项工作

1 个答案:

答案 0 :(得分:0)

是的你可以在facebook登录SdK 4+

您将获得当前登录用户的个人资料对象。

在onSuccess回调方法中,调用静态方法getCurrentProfile()

private final String id;
private final String firstName;
private final String middleName;
private final String lastName;
private final String name;
private final Uri linkUri;

这些是当前登录用户的成员变量。对于个人资料图片,有一种方法getProfilePictureUri( int width, int height)  有关详细信息,请参阅官方DOCS