【问题标题】:Google Maps API key may be invalid for your bundle IDGoogle Maps API 密钥可能对您的捆绑包 ID 无效
【发布时间】:2013-09-26 03:22:21
【问题描述】:

我们有一个过去几个月一直在工作的 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 团队以请求帮助识别帐户并帮助解决问题?

【问题讨论】:

  • 您是否更改了 Xcode 中的应用程序包 ID?显然,api 密钥与您的应用程序包 id 捆绑在一起,以防止 api 滥用。如果您更改了应用程序包 ID,则不能使用相同的 api 密钥。检查一下,或者只是使用当前的 app bundle id 申请一个新的 api 密钥。
  • 您可以通过 brettmorgan@google.com 将您的 API 密钥邮寄给我。我猜 com.company.SampleApp 不是您的实际应用程序包 ID...
  • 你能解决这个问题吗?我遇到了同样的问题。我更改了捆绑名称,然后将其改回,即使我多次尝试重新创建应用 ID,我也会收到相同的消息...

标签: google-maps google-maps-api-3 google-api google-maps-sdk-ios


【解决方案1】:

我发现 api key 是否用花括号括起来并没有区别。

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

您可能还会看到reference

【讨论】:

  • 在我的情况下,api 密钥也没有被花括号包围 [GMSServices provideAPIKey:@"api_key"];现在工作正常。谢谢。
  • 我忘记点击了。谢谢
  • 要详细说明这一点,必须在 Google 的开发者控制台中启用“启用适用于 iOS 的 Google Maps SDK”。当我为 Android 启用 SDK 并忘记为 iOS 也这样做时,我遇到了这个错误。
  • 这是正确的。我忙于检查代码并确保 API 密钥匹配并且忘记启用该服务! (捂脸)
  • 谢谢。它节省了我的时间。
【解决方案2】:

一步一步

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

祝你好运

【讨论】:

  • 非常感谢,花了 3 天时间来修复它。大声笑。
  • 谢谢。这终于解决了我的问题,现在我可以看到地图正在加载。
【解决方案3】:

这里有两个可能的修复方法:

可能的修复 1

在一行中,

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

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

可能的修复 2

AppDelegate 中的didFinishLaunchingWithOptions 方法中,上述行应该在您实例化根视图控制器之前出现,而不是之后。

【讨论】:

  • 我是同样的问题,但我解决了删除花括号。
【解决方案4】:

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

【讨论】:

    【解决方案5】:

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

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

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

    祝你好运!

    【讨论】:

      【解决方案6】:

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

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

      【讨论】:

      • 很奇怪,但这个答案对我有帮助。我基本上从 Google API 控制台复制了密钥,然后将其粘贴到浏览器的 URL 栏中,然后再次复制它,然后将其粘贴到 Xcode 中工作正常。
      【解决方案7】:

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

      【讨论】:

        【解决方案8】:

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

        • 您在 Google Map SDK 中使用的 iOS 应用程序名称和
        • 创建 Xcode 项目时的组织名称应匹配。 只需匹配两个名称,您的错误就会得到解决。

        【讨论】:

          【解决方案9】:

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

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

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

          【讨论】:

            【解决方案10】:

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

            1. 按“创建新密钥”按钮
            2. 选择“服务器密钥”
            3. 按“创建”
            4. 在您的 Xcode 项目中使用此密钥

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-06-28
              • 1970-01-01
              • 2011-03-21
              • 1970-01-01
              • 2014-01-06
              相关资源
              最近更新 更多