I just started seeing this error response with existing users trying to login via Facebook. First time login works, but logging in again gives me:
BackendlessFault{ code: ‘3033’, message: ‘Unable to register user. User already exists.’, detail: ‘Unable to register user. User already exists.’, extendedData: ‘{}’ }
This was working previously.
App Id is D505191E-E907-8CA1-FF4D-508A8FE81300
Relevant login code is:
LoginManager.getInstance().registerCallback(mCallbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
final Map<String, String> facebookFieldMappings = new HashMap<String, String>();
facebookFieldMappings.put( "email", "email" );
facebookFieldMappings.put( "name", "name" );
Backendless.UserService.loginWithFacebookSdk(loginResult.getAccessToken().getToken(), facebookFieldMappings, new AsyncCallback<BackendlessUser>() {
@Override
public void handleResponse(BackendlessUser user) {
Log.d("DEBUG", "Login with facebook user "+user.getEmail()+" logged in");
}
@Override
public void handleFault(BackendlessFault fault) {
Toast.makeText(LoginActivity.this, "There was an issue logging in with Facebook", Toast.LENGTH_LONG).show();
Log.d("DEBUG", "Fault logging in with Facebook: "+fault.toString());
}
}, true);
}
@Override
public void onCancel() {
Log.d("DEBUG", "Facebook login cancelled");
}
@Override
public void onError(FacebookException exception) {
Log.d("DEBUG", "Facebook login exception: "+exception.toString());
}
});
List<String> permissions = new ArrayList<String>();
permissions.add( "email" );
LoginManager.getInstance().logIn(this, permissions);
I’ve also tried using the old deprecated methods that worked in 3.x and still got the same error.