我使用简单的facebook来整合facebook到我的应用程序。我需要发送facebook用户名到服务器。但我从个人资料监听器中得到的用户名为空。这是我的代码
public void loginToFacebook(View v){
mSimpleFacebook.login(this);
}
OnLoginListener listner = new OnLoginListener() {
@Override
public void onLogin() {
mSimpleFacebook.getProfile(onProfileListener);
}
};
OnProfileListener onProfileListener = new OnProfileListener() {
@Override
public void onComplete(Profile profile) {
System.out.println(profile.getUsername());//getting null here
}
};
我也试过代码
OnLoginListener listner = new OnLoginListener() {
@Override
public void onLogin() {
Profile.Properties properties = new Profile.Properties.Builder()
.add(Properties.USER_NAME)
.add(Properties.ID)
.build();
mSimpleFacebook.getProfile(properties, onProfileListener);
}
};
但是在这种情况下,监听者并没有被解雇。
这是我在Application类
中赋予的权限private void configureFacebook() {
Permission[] permissions = new Permission[] {
Permission.USER_ABOUT_ME,
Permission.PUBLIC_PROFILE,
Permission.READ_STREAM,
Permission.EMAIL,
Permission.PUBLISH_ACTION
};
SimpleFacebookConfiguration configuration = new SimpleFacebookConfiguration.Builder()
.setAppId(Constants.FB_APPID)
.setNamespace("namespace")
.setPermissions(permissions)
.build();
SimpleFacebook.setConfiguration(configuration);
}
API v2.0无法获取用户名