Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Facebook/Twitter注册之前检查现有用户解析Android SDK_Android_Facebook_Twitter_Parse Platform_Parsefacebookutils - Fatal编程技术网

在Facebook/Twitter注册之前检查现有用户解析Android SDK

在Facebook/Twitter注册之前检查现有用户解析Android SDK,android,facebook,twitter,parse-platform,parsefacebookutils,Android,Facebook,Twitter,Parse Platform,Parsefacebookutils,我正在使用Parse Android SDK,在我的注册活动中有两个注册选项。通过twitter和facebook注册 问题是: 如果我使用facebook注册,然后注销,然后再次使用twitter注册,而不是将新的twitter解析用户链接到旧的facebook解析用户,它会创建一个新用户,即使facebook和twitter中使用的电子邮件是相同的 我想要实现的是检查具有相同电子邮件的用户是否存在,如果不存在,则创建新用户,如果他确实存在,则将注册方法(facebook或twitter)与现

我正在使用Parse Android SDK,在我的注册活动中有两个注册选项。通过twitter和facebook注册

问题是: 如果我使用facebook注册,然后注销,然后再次使用twitter注册,而不是将新的twitter解析用户链接到旧的facebook解析用户,它会创建一个新用户,即使facebook和twitter中使用的电子邮件是相同的

我想要实现的是检查具有相同电子邮件的用户是否存在,如果不存在,则创建新用户,如果他确实存在,则将注册方法(facebook或twitter)与现有解析用户链接

任何帮助都将不胜感激。 谢谢

private void loginWithTwitter(){
signUpProgressDialog.show();
logIn(这是新的LogInCallback(){
@凌驾
公共无效完成(ParseUser用户,parsee异常){
signUpProgressDialog.disclose();
如果(e==null){
if(user==null){
Log.d(标记“哦,用户取消了Twitter登录”);
}else if(user.isNew()){
d(标签“用户注册并通过Twitter登录!”);
StartPrivateActivity(“TWITTER_NEW”);
}否则{
d(标签“用户通过Twitter登录!”);
StartPrivateActivity(“TWITTER_OLD”);
}
}else Log.d(标记“Twitter解析错误”);
}
});
}
私有void loginWithFacebook(){
signUpProgressDialog.show();
列表权限=Arrays.asList(“public_profile”、“email”);
logIn(权限,这个,新的LogInCallback(){
@凌驾
公共无效完成(ParseUser用户,parsee异常){
signUpProgressDialog.disclose();
如果(e==null){
if(user==null){
Log.d(标记“哦,用户取消了Facebook登录”);
}else if(user.isNew()){
d(标签“用户注册并通过Facebook登录!”);
StartPrivateActivity(“FACEBOOK_NEW”);
}否则{
d(标签“用户通过Facebook登录!”);
StartPrivateActivity(“FACEBOOK_OLD”);
}
}else Log.d(标记“Facebook解析错误”);
}
});
}

您可以将用户的电子邮件设置为ParseUser对象中的用户名字段的内容。所以,下一次用户尝试使用相同的用户名注册时,您将收到ParseException,代码为202-“已注册这些用户名和密码的用户”,在这种情况下,您可以调用login()方法。
但在这种情况下,两次会话之间的密码应该保持不变。

您有没有解决此问题的方法。我也遇到同样的问题,但找不到任何解决办法
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");
        }
    });
}