17

我们有一个过去几个月一直在工作的 Google API 密钥,但昨天它突然停止工作,这是错误。

2013-09-20 23:01:36.483 SampleApp[907:a0b] Google Maps SDK for iOS cannot connect or validate APIKey: Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed. (com.google.HTTPStatus error 400.)" UserInfo=0x18828d90 {data=<CFData 0x14d04c30 [0x6174ec8]>{length = 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}} 2013-09-20 23:01:36.484 SampleApp[907:a0b] Your key may be invalid for your bundle ID: com.company.SampleApp

我们无法找到拥有 API 密钥的帐户。我们是否可以联系 Google Maps API 团队以请求帮助识别帐户并帮助解决问题?

4

10 回答 10

20

我发现用大括号包围的 api 键没有区别。

请确保“启用适用于 iOS 的 GoogleMap SDK”

您可能还会看到参考

于 2014-01-03T11:08:48.340 回答
10

一步步

1.- go Google ApisConsole

2.- select Services and activate Google Maps SDK for iOS

3.- later select API Access and Create new iOS key with your bundle identifier examplecom.example.myProject

4.- copy Api key in your Project  [GMSServices provideAPIKey:@"kajshdklasjhdakls_LTcJWZqpRJ1BQmHxX9i0lI"]; on AppDelegate

祝你好运

于 2013-12-13T17:46:21.280 回答
5

这里有两个可能的修复:

可能的修复 1

在行中,

[GMSServices provideAPIKey:@"{AIzaSyDCPXPLUkK3UVrLr9msaS6-EsZ6UHbVgEq}"];

api 键应该用花括号括起来。

可能的修复 2

didFinishLaunchingWithOptions你的方法中AppDelegate,上面的行应该你实例化你的根视图控制器之前,而不是之后。

于 2013-11-14T16:34:39.167 回答
4

只是我的 2 美分;在生成了不起作用的 API 密钥后,我在 API 控制台的服务部分启用了适用于 iOS 的 Google 地图。我刚刚删除了我的密钥并创建了一个新密钥,嘿,很快(这是经过大量测试之后,所以这绝对是问题所在,奇怪的是)。

于 2014-01-28T07:52:16.023 回答
1

只需从您的帐户启用 google map ios sdk,不要使用花括号,您将可以轻松加载 google map。

于 2014-07-31T13:53:50.357 回答
1

我遇到了同样的问题,最终在这里寻找答案无济于事。我在 Google API 上复制 API 密钥,每次都看到“您的密钥可能对您的捆绑 ID 无效:com。” 错误。

因此,我决定尝试手动输入 API 密钥,并且成功了。绝对值得一试,也许以某种方式通过复制/粘贴传递了特殊字符。

于 2014-07-28T21:11:39.933 回答
1

使用此代码:NSLog(@"my bundle id is: %@", [[NSBundle mainBundle] bundleIdentifier]); 用于识别您需要在 google apis 中生成的 Api 访问的捆绑标识符。

例如:我的项目 x-code 中的 Bundle 标识符是projects.example.mymap,那么您应该将其复制并粘贴到 apiaccess 中并生成此 apikey。

如果问题仍然存在,请创建其他密钥并删除最后一个,在您的应用中使用新密钥。

祝你好运!

于 2013-12-12T16:47:18.503 回答
1

我找到了解决方案,它的发生是因为包名称不同,

  • 您在 Google Map SDK 中使用的 iOS 应用程序名称和
  • 创建 Xcode 项目时的组织名称应匹配。只需匹配两个名称,您的错误就会得到解决。
于 2015-06-08T11:53:37.780 回答
0

这个页面上的几乎所有答案都说同样的话..这与谷歌地图sdk页面上的说明完全相同..

没有人提到的一件事是,有时此密钥需要一段时间才能在网络上传播(即您的应用程序可能不会立即识别它)..所以请稍等。

还有一件事我发现有点不同的是,我没有com 添加到我的包标识符的开头。所以你也可以尝试一下。

于 2014-10-08T11:04:51.727 回答
-1

我遇到了同样的问题。在“Google Developers Console”中,您应该这样做:

  1. 按“创建新密钥”按钮
  2. 选择“服务器密钥”
  3. 按“创建”
  4. 在您的 Xcode 项目中使用此密钥
于 2014-11-18T05:59:08.213 回答