【问题标题】:Invalid parameter value for redirect_uriredirect_uri 的参数值无效
【发布时间】:2014-03-08 14:40:18
【问题描述】:

当我尝试通过网络在 Google Plus 中对我的应用进行身份验证时,出现错误:

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

我都按照指示做了:
https://developers.google.com/+/mobile/ios/getting-started

但是,使用 Google Plus 应用程序进行的身份验证运行良好。有什么问题?

【问题讨论】:

  • 能否发布您正在使用的 GPPSignIn 代码以及库的版本?如果可以的话,您在 Mobile Safari 中的 URL 也是如此。
  • 我在developers.google.com/+/mobile/ios/sign-in 上的示例中遇到了同样的问题,我唯一想知道的其他尝试是我没有在客户端的任何地方设置redirect_uri,但我认为我没有必须这样做,因为这是在 google 控制台配置中指定的。我正在尝试验证我的服务器而不是 iOS 客户端。

标签: ios objective-c google-plus


【解决方案1】:

我遇到了同样的问题,因为我使用了非常规的 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;

然后更改您的目标->信息->网址类型->网址方案 属性到您的客户 ID 的点反转。

例如

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

【讨论】:

  • 例如你们帮我检查一下哈哈。
【解决方案2】:

这可能与在模拟器和实际设备中运行有关!试图确认,但至少现在看起来是这样,因为我得到了完全不同的更好的行为。

【讨论】:

  • 我遇到了与 OP 相同的问题,在模拟器和设备上的行为相同。好奇为什么发布的回调 URL 只使用 1 个反斜杠而不是 2 个。
猜你喜欢
  • 1970-01-01
  • 2018-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-30
  • 2012-09-19
  • 2020-04-24
  • 2021-11-16
相关资源
最近更新 更多