Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FBSDKLoginManager *login = [FBSDKLoginManager new];
- [login logInWithReadPermissions:@[@"public_profile", @"email"] fromViewController:weakSelf handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
- if (error) {
- NSLog(@"Process error");
- } else if (result.isCancelled) {
- NSLog(@"Cancelled");
- } else {
- NSString *token = result.token.tokenString;
- JGProgressHUD *hud = [JGProgressHUD progressHUDWithStyle:JGProgressHUDStyleDark];
- hud.textLabel.font = [PLFont fontRegularWithSize:14.0f];
- hud.textLabel.text = [[[[PLSharedManager sharedManager] languageDictionary] objectForKey:@"UserLoginView"] objectForKey:@"LoadingText"];
- hud.interactionType = JGProgressHUDInteractionTypeBlockAllTouches;
- [hud showInView:weakSelf.view];
- [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id,first_name,last_name,email"}] startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
- if (!error) {
- NSString *name = [NSString stringWithFormat:@"%@ %@", [result objectForKey:@"first_name"],[result objectForKey:@"last_name"]];
- UIImage *avatar = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://graph.facebook.com/%@/picture?type=large", [result objectForKey:@"id"]]]]];
- NSMutableDictionary *parameters = [NSMutableDictionary new];
- [parameters setValue:@"facebook" forKey:@"provider"];
- [parameters setValue:token forKey:@"provider_token"];
- [parameters setValue:[result objectForKey:@"email"] forKey:@"email"];
- [parameters setValue:name forKey:@"name"];
- [parameters setValue:[result objectForKey:@"id"] forKey:@"provider_uid"];
- [[[PLSharedManager sharedManager] apiManager] loginUserSocialWithParameters:parameters successfulBlock:^(PLUser *loggedUser) {
- UIImage *resizedImage = [PLImageManager imageWithImage:avatar scaledToMaxWidth:RESIZED_IMAGE_SIZE maxHeight:RESIZED_IMAGE_SIZE];
- [[[PLSharedManager sharedManager] apiManager] uploadAvatar:resizedImage accessToken:loggedUser.accessToken successfulBlock:^{
- // QuickBlox
- QBUUser *quickBloxUser = [QBUUser new];
- quickBloxUser.login = loggedUser.email;
- quickBloxUser.password = [NSString stringWithFormat:@"%@%ld", loggedUser.email, (long)(long)loggedUser.ID];
- quickBloxUser.email = loggedUser.email;
- quickBloxUser.fullName = loggedUser.name;
- quickBloxUser.facebookID = loggedUser.providerUid;
- quickBloxUser.externalUserID = loggedUser.ID;
- quickBloxUser.customData = loggedUser.avatarUrl;
- [[QMServicesManager instance] logInWithUser:quickBloxUser completion:^(BOOL success, NSString * _Nullable errorMessage) {
- if (success) {
- [hud dismiss];
- [self loginSuccessful:loggedUser];
- } else {
- [QBRequest signUp:quickBloxUser successBlock:^(QBResponse * _Nonnull response, QBUUser * _Nullable user) {
- [hud dismiss];
- loggedUser.quickbloxUserID = user.ID;
- [self loginSuccessful:loggedUser];
- } errorBlock:^(QBResponse * _Nonnull response) {
- [hud dismiss];
- [self loginError:nil];
- }];
- }
- }];
- } failureBlock:^(NSURLResponse *response, id responseObject, NSError *error) {
- [hud dismiss];
- NSString *message = [PLApiManager getErrorDescriptionFromResponse:responseObject];
- [self loginError:message];
- }];
- } failureBlock:^(NSURLResponse *response, id responseObject, NSError *error) {
- [hud dismiss];
- NSString *message = [PLApiManager getErrorDescriptionFromResponse:responseObject];
- [self loginError:message];
- }];
- } else {
- [hud dismiss];
- [self loginError:nil];
- }
- }];
- }
- }];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement