我正在使用iOS應用程序進行解析,並且有兩種註冊方式,使用電子郵件/密碼或Facebook登錄。如何將Facebook註冊的用戶與使用同一電子郵件註冊的冒險用戶合併
問題發生在用戶使用他的電子郵件/密碼註冊然後註銷並嘗試使用他的Facebook帳戶進行註冊,該帳戶具有相同的電子郵件。
我使用[PFFacebookUtils logInInBackgroundWithReadPermissions:block:
與Facebook上申請這在Users
表中解析創建新的用戶對象
現在我有兩個記錄相同的用戶,我不能更新與Facebook的信息記錄用戶的電子郵件,因爲解析不會允許重複的電子郵件
那麼應該是最好的解決方案來解決這個問題?
UPDATE我已經使用@kRiZ溶液使用普通的Facebook代碼登錄然後創建新的用戶或與該數據的Facebook
- (void)loginWithFacebookWithSuccessCallback:(APISuccessCallback)successCallback
andFailureCallback:(APIFailureCallback)failureCallback {
// Login PFUser using Facebook
NSArray *permissionsArray = @[@"public_profile", @"email"];
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions: permissionsArray handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
failureCallback(error);
} else {
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me?fields=id,first_name,last_name,email,gender" parameters:nil];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id fbResult, NSError *error) {
if (!error) {
NSString *email = result[@"email"];
User *existingUser = [self getUserByEmail:email];
if (existingUser == nil) {
[self signUpNewUserWithEmail:email];
} else {
// Need to set the current user to existingUser
}
[self linkCurrentWithAccessToken:result.token
successCallback(@{RESULT:RESULT_OK});
} else {
failureCallback(error);
}
}];
}
}];
}
現在的問題是分配的[PFUser鏈接的用戶當前用戶]已存在
這是令人難以置信很難解決這個問題。 – Fattie
我有同樣的問題....你最終解決這個問題嗎? ...如果是這樣的話...... – lozflan
當你調用這個'[self signUpNewUserWithEmail:email];'你不需要傳入密碼嗎?但是,在這種情況下沒有密碼,因爲用戶通過Facebook登錄? –