我正在使用Parse Android SDK,并且在注册活动中有两个注册选项。通过Twitter注册和通过Facebook注册。
问题如下: 如果我使用Facebook注册,然后注销,再次使用Twitter注册,而不是将新的Twitter Parse用户链接到旧的Facebook Parse用户,它会创建一个新用户,即使在Facebook和Twitter中使用的电子邮件相同。
我想要实现的是检查是否存在相同电子邮件的用户,如果不存在则创建新用户,如果存在则将注册方法(Facebook或Twitter)与现有的Parse用户链接起来。
任何帮助都将不胜感激。 谢谢
问题如下: 如果我使用Facebook注册,然后注销,再次使用Twitter注册,而不是将新的Twitter Parse用户链接到旧的Facebook Parse用户,它会创建一个新用户,即使在Facebook和Twitter中使用的电子邮件相同。
我想要实现的是检查是否存在相同电子邮件的用户,如果不存在则创建新用户,如果存在则将注册方法(Facebook或Twitter)与现有的Parse用户链接起来。
任何帮助都将不胜感激。 谢谢
private void loginWithTwitter() {
signUpProgressDialog.show();
ParseTwitterUtils.logIn(this, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException e) {
signUpProgressDialog.dismiss();
if(e==null) {
if (user == null) {
Log.d(TAG, "Uh oh. The user cancelled the Twitter login.");
} else if (user.isNew()) {
Log.d(TAG, "User signed up and logged in through Twitter!");
startAppropriateActivity("TWITTER_NEW");
} else {
Log.d(TAG, "User logged in through Twitter!");
startAppropriateActivity("TWITTER_OLD");
}
}else Log.d(TAG,"Twitter Parse Error");
}
});
}
private void loginWithFacebook() {
signUpProgressDialog.show();
List<String> permissions = Arrays.asList("public_profile", "email");
ParseFacebookUtils.logIn(permissions, this, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException e) {
signUpProgressDialog.dismiss();
if(e==null) {
if (user == null) {
Log.d(TAG, "Uh oh. The user cancelled the Facebook login.");
} else if (user.isNew()) {
Log.d(TAG, "User signed up and logged in through Facebook!");
startAppropriateActivity("FACEBOOK_NEW");
} else {
Log.d(TAG, "User logged in through Facebook!");
startAppropriateActivity("FACEBOOK_OLD");
}
}else Log.d(TAG,"Facebook Parse Error");
}
});
}