我正在尝试将 GooglePlus API 添加到我的应用程序中。
我已经使用 CocoaPods 添加了 Google+ 框架,并且在我的应用程序中有登录按钮。
该对象在执行登录的视图控制器中的函数中GPPSignIn
设置如下...viewDidLoad
@property (nonatomic, strong) GPPSignIn *signIn;
...
self.signIn = [GPPSignIn sharedInstance];
self.signIn.clientID = @"blahblahmynumber.apps.googleusercontent.com";
self.signIn.scopes = @[kGTLAuthScopePlusLogin];
self.signIn.delegate = self;
[self.signIn trySilentAuthentication];
然后当按下登录按钮时......
- (IBAction)googleButtonPressed:(id)sender
{
[self.signIn authenticate];
}
...和委托方法...
- (void)finishedWithAuth: (GTMOAuth2Authentication *)auth
error: (NSError *) error
{
NSLog(@"Received error %@ and auth object %@",error, auth);
}
一切似乎都奏效了,我被推到谷歌登录并确认访问我的帐户,然后我被推回应用程序,控制台显示......
收到错误错误域 = com.google.GooglePlusPlatform 代码 = -1“身份验证不匹配”用户信息 = 0x1d5cb170 {NSLocalizedDescription = 身份验证不匹配} 和身份验证对象(空)
现在我被困住了。我找不到有关“身份验证不匹配”是什么意思的任何信息?
顺便说一句,我编写的所有代码都来自 Google 开发人员门户和“如何”文档。
到目前为止我尝试过的事情
- 双重和三重检查了 ClientID,它是正确的。
- 更改了 Google 上的 ClientID,这会完全停止登录,所以这不是导致问题的原因。
- 清理项目和项目文件夹。
- 尝试使用
kGTLAuthScopePlusLogin
and将范围数组更改为所有可能的组合kGTLAuthScopePlusMe
将范围数组更改为所有可能的组合。 - 检查我在谷歌上的应用程序是应用程序类型“iOS”,它是。
- 检查了应用程序上的 URL 类型,但这只会阻止应用程序在登录后被推回。
- 这绝对不是
redirect_uri_mismatch
问题。问题是登录后返回给登录委托的“身份验证不匹配”。