Retrieving user's email Google Login iOS

I am trying to find the email of the logged in account from the google login API in iOS using Swift. The code i used is the same as given in the google Developers instruction page.

This is my code

description = [NSString stringWithFormat: @"%@ %@ %@ %@ %@ %@", person.displayName,person.gender,person.ageRange.min,person.ageRange.max,person.emails,person.birthday];

The output when i print this "description" id is this:

Karanvir Singh male 18 20 ( "GTLPlusPersonEmailsItem 0x7fbe4a67aee0: {value:"karanvir95@gmail.com" type:"account"}" ) (null)

I want to know how i can remove the excess of output when i just want to know the email ID

i want the output as such:

Karanvir Singh male 18 20 karanvir95@gmail.com 17/02/1995

Code as requested:

import "ViewController.h"

import "GoogleOpenSource/GoogleOpenSource.h"

import "GooglePlus/GooglePlus.h"

import "AppDelegate.h"

@interface ViewController ()

@end

@implementation ViewController @synthesize signInButton; @synthesize signOutHandle; @synthesize signInHandle; @synthesize infoLabel; @synthesize description; - (void)viewDidLoad { [super viewDidLoad]; signOutHandle.hidden=true; }

  • (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. }
  • -(void)refreshInterfaceBasedOnSignIn { if ([[GPPSignIn sharedInstance] authentication]) { signOutHandle.hidden=false; signInHandle.hidden=true; infoLabel.text=description; } else {

    } }
    
  • (void)finishedWithAuth: (GTMOAuth2Authentication *)auth error: (NSError *) error { NSLog(@"Received error %@ and auth object %@",error, auth); if (error) { // Do some error handling here. } else {

    GTLServicePlus* plusService = [[GTLServicePlus alloc] init];
    plusService.retryEnabled = YES;
    [plusService setAuthorizer:[GPPSignIn sharedInstance].authentication];
    
    GTLQueryPlus *query = [GTLQueryPlus queryForPeopleGetWithUserId:@"me"];
    query.collection=kGTLPlusCollectionVisible;
    [plusService executeQuery:query
            completionHandler:^(GTLServiceTicket *ticket,
                                GTLPlusPerson *person,
                                NSError *error){
                if (error) {
                    GTMLoggerError(@"Error: %@", error);
                } else {
                //    [person retain];
                    NSString *age = [NSString string];
                    description = [NSString stringWithFormat: @"%@ %@ %@ %@ %@ %@ %@", person.displayName,person.gender,person.ageRange.min,person.ageRange.max,person.emails,person.birthday,email];
    
  • NSLog(description); }

    GTLQueryPlus *query2 = [GTLQueryPlus queryForPeopleListWithUserId:@"me" collection:kGTLPlusCollectionVisible];

    [plusService executeQuery:query2 completionHandler:^(GTLServiceTicket *ticket, GTLPlusPeopleFeed *peopleFeed, NSError *error) {

                                if (error) {
    
                                    GTMLoggerError(@"Error: %@", error);
    
                                } else {
                                    // Get an array of people from GTLPlusPeopleFeed
    

    NSArray* peopleList = peopleFeed.items;

                                }
                            }];
                    [self refreshInterfaceBasedOnSignIn];
                }];
    } }
    

    - (IBAction)signOutButton:(id)sender { [[GPPSignIn sharedInstance] signOut]; [[GPPSignIn sharedInstance] disconnect];

    signOutHandle.hidden=true;
    signInHandle.hidden=false;
    infoLabel.text=@""; }
    
  • (void)signOut { [[GPPSignIn sharedInstance] signOut]; }

  • (void)disconnect { [[GPPSignIn sharedInstance] disconnect]; }

  • (IBAction)signedIn:(id)sender { GPPSignIn *signIn = [GPPSignIn sharedInstance]; signIn.shouldFetchGooglePlusUser = YES; signIn.shouldFetchGoogleUserEmail = YES; signIn.clientID = kClientId;

    AppDelegate *appDelegate = (AppDelegate *) [[UIApplication sharedApplication] delegate];

    signIn.shouldFetchGoogleUserEmail = YES; signIn.delegate = self;

    signIn.scopes = @[ kGTLAuthScopePlusUserinfoProfile, kGTLAuthScopePlusLogin,kGTLAuthScopePlusMe,kGTLAuthScopePlusUserinfoEmail ]; signIn.delegate = self; [signIn authenticate]; email=(@"%@",signIn.userEmail); NSLog(@" email:%@",email); }

  • (void)didDisconnectWithError:(NSError *)error { if (error) { NSLog(@"Received error %@", error); } else { NSLog(@"The user is signed out and disconnected."); // The user is signed out and disconnected. // Clean up user data as specified by the Google+ terms. } }

  • @end


    description = [NSString stringWithFormat: @"%@ %@ %@ %@ %@ %@ %@", person.displayName, person.gender,person.ageRange.min,person.ageRange.max,person.emails.value,person.birthday];
    

    我想指出,你的人没有星期二

    链接地址: http://www.djcxy.com/p/68098.html

    上一篇: 3d numpy数组到2d

    下一篇: 检索用户的电子邮件Google登录iOS