尝试使用表单应用时登录失败

时间:2013-09-13 11:51:54

标签: ios google-plus ipod-touch

在我的iOS应用程序中,我正在使用Google+登录功能正常运行。但是在设备中安装原生Google+应用时失败了。

如果设备中未安装Google+应用程序,则登录通过网络进行并正常运行。如果已安装,则通过此已安装的本机应用程序进行登录。

我正在使用GPPSignIn API进行身份验证。我提及实施的Google文档是https://developers.google.com/+/mobile/ios/sign-in

我收到的错误是 - “登录时出错Error Domain = com.google.GooglePlusPlatform Code = -1”操作无法完成。 (com.google.HTTPStatus错误400。)“”

 -(IBAction)handleTapOnGooglePlus:(id)sender {
 if ([[GPPSignIn sharedInstance] authentication]) { 
       [self showProgressHUDWithText:@"Signing Out"];
       [self signOut];
     } else {
       [[GPPSignIn sharedInstance] authenticate];
       [GPPSignIn sharedInstance].attemptSSO = YES;
     }
 }

提前致谢

Shashank

1 个答案:

答案 0 :(得分:0)

确保您的接口文件中包含GPPSignInDelegate。然后尝试一下。

-(IBAction)handleTapOnGooglePlus:(id)sender
 {
  if ([GPPSignIn sharedInstance].authentication)
            { 
                NSLog(@"Already authenticated");
            }
            else
            {
                [[GPPSignIn sharedInstance]signOut];
                 [GPPSignIn sharedInstance].delegate=self;
                [[GPPSignIn sharedInstance]authenticate];

            }

 }

在此处理回调

-(void)finishedWithAuth:(GTMOAuth2Authentication *)auth error:(NSError *)error
{

        [[[GPPSignIn sharedInstance] plusService] executeQuery:[GTLQueryPlus queryForPeopleGetWithUserId:@"me"] completionHandler:^(GTLServiceTicket *ticket, GTLPlusPerson *person, NSError *error)
         {
             if(error)
             {
                 NSLog(@"Google Plus Error:%@",error.localizedDescription]);

             }
             else
             {

               NSLog(@"Authenticated");

         }];


}