Я интегрировал Google Plus в свое приложение IOS, но я не могу получить идентификатор электронной почты текущего пользователя, который вошел в систему.

Я интегрировал Google Plus в свое приложение для iOS, я могу успешно войти в систему, но я не могу получить идентификатор электронной почты текущего пользователя, который вошел в систему. Я сослался на https://developers.google..com/+/mobile/ios/ и выполнили все шаги, необходимые для входа!

Итак, как я могу получить текущий идентификатор почты пользователя, который входит в систему Google Plus?

введите здесь описание изображения


person Vishal Khatri    schedule 09.11.2012    source источник
comment
Любые идеи о том, как интегрировать g+ Hangout (видеозвонки) в наше приложение для iOS. Я ознакомился с официальной документацией по видеовстречам. Но я рассматриваю xml-файлы как примеры исходного кода. Как мне его интегрировать, есть ли хороший учебник... пожалуйста, помогите мне, спасибо :)   -  person Eshwar Chaitanya    schedule 10.02.2015


Ответы (2)


перейти к методу файла GTMOAuth2Authentication.m setKeysForResponseDictionary в dic возвращает токен доступа в конце метода.

accessTocken = [dict valueForKey:@"access_token"]; // access tocken pass in .pch file
[accessTocken retain];

и в вашем контроллере

- (IBAction)momentButton:(id)sender {
  NSString *str =  [NSString stringWithFormat:@"https://www.googleapis.com/oauth2/v1/userinfo?access_token=%@",accessTocken];
  NSString* escapedUrl = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@",escapedUrl]];
  NSString *jsonData = [[NSString alloc] initWithContentsOfURL:url usedEncoding:nil error:nil];
  NSMutableDictionary *proDic = [[NSMutableDictionary alloc] init];

  proDic=[jsonData JSONValue];
  NSLog(@"%@",proDic);
person Hardik Mamtora    schedule 10.11.2012
comment
привет Хардик спасибо за ваш ответ. Я могу получить адрес электронной почты и идентификатор пользователя, но я не могу получить имя пользователя. Есть идеи ? - person jpd; 25.06.2013
comment
@Hardik Mamotra Любые идеи о том, как интегрировать видеовстречу g+ (видеозвонки) в наше приложение для iOS. Я ознакомился с официальной документацией по видеовстречам. Но я рассматриваю xml-файлы как примеры исходного кода. Как мне его интегрировать, есть ли хороший учебник... пожалуйста, помогите мне, спасибо :) - person Eshwar Chaitanya; 10.02.2015

Это самый простой и простой способ получить идентификатор электронной почты текущего вошедшего в систему пользователя
сначала создайте переменную экземпляра класса GPPSignIn.

GPPSignIn *signIn;

затем инициализируйте его в viewDidLoad

- (void)viewDidLoad
  {
  [super viewDidLoad];

   static NSString * const kClientID = @"your client id";
   signIn = [GPPSignIn sharedInstance];
   signIn.clientID= kClientID;
   signIn.scopes= [NSArray arrayWithObjects:kGTLAuthScopePlusLogin, nil];
   signIn.shouldFetchGoogleUserID=YES;
   signIn.shouldFetchGoogleUserEmail=YES;
   signIn.delegate=self;

   }

затем внедрите GPPSignInDelegate в свой контроллер представления
здесь вы можете получить идентификатор электронной почты вошедшего в систему пользователя

- (void)finishedWithAuth:(GTMOAuth2Authentication *)auth
               error:(NSError *)error
 {  
  NSLog(@"Received Access Token:%@",auth);
   NSLog(@"user google user id  %@",signIn.userEmail); //logged in user's email id
  }
person Muhammad Mohsin Najmuddin    schedule 10.04.2013
comment
Было бы лучше проверить переменную ошибки в finishWithAuth. - person Fury; 19.07.2013