重定向URI的参数值无效。

4
当我尝试通过 Web 对 Google Plus 进行身份验证时,出现错误:

错误:invalid_request
redirect_uri 的参数值无效:缺少 MY_APP:/oauth2callback 权限


我按照说明做了一切:
https://developers.google.com/+/mobile/ios/getting-started

然而,使用 Google Plus 应用程序进行身份验证运行良好。问题出在哪里?

你能否发布你正在使用的GPPSignIn代码以及库的版本?如果可以的话,也请提供在移动Safari中访问的URL。 - Ian Barber
我遇到了与https://developers.google.com/+/mobile/ios/sign-in示例相同的问题,唯一让我感到疑惑的是,在客户端任何地方都没有设置redirect_uri,但我认为我不必这样做,因为这在google控制台配置中已经指定了。我正在尝试对我的服务器进行身份验证,而不是iOS客户端。 - kos
2个回答

4

由于我使用的bundle id格式不规范,即它不是com.company.appname格式,所以我遇到了同样的问题。

我在这里找到了解决方案。 https://code.google.com/p/google-plus-platform/issues/detail?id=961

您需要添加signIn.useClientIDForURLScheme = YES;

GPPSignIn *signIn = [GPPSignIn sharedInstance];
signIn.shouldFetchGooglePlusUser = YES;
signIn.clientID = kClientId;
signIn.scopes = @[ kGTLAuthScopePlusLogin ];
signIn.delegate = self;
signIn.useClientIDForURLScheme = YES;

然后将您的目标 -> 信息 -> URL 类型 -> URL 方案属性更改为客户端 ID 的点反转。

例如:

client id = 2299995859-8gt63glaqk4o8l3ouge3nf1qb2h1vyg3.apps.googleusercontent.com
url schema = com.googleusercontent.apps.2299995859-8gt63glaqk4o8l3ouge3nf1qb2h1vyg3

如果你的例子是帮我检查哈哈。 - Papon Smc

0
可能与在模拟器上运行和实际设备上运行有关!试图确认一下,但就目前的情况而言,我得到的结果完全不同且更好。

我遇到了与 OP 相同的问题,模拟器和设备上的行为也是一样的。不明白为什么回调 URL 发布时只使用了一个反斜杠,而不是两个。 - Bill Burgess

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接