我已经在我的应用程序中运行了Google Maps和Google Places API大约一年了。我今天醒来,无法使用变灰的地图或进行搜索。在控制台中,

ERROR AUTO COMPLETE错误Domain = com.google.places.ErrorDomain代码= -4“由于无效(错误或丢失)API密钥而导致操作失败。有关创建和使用API​​密钥的信息,请参阅开发者指南(https://developers.google.com/places/ios-sdk/start)。 。” UserInfo = {NSLocalizedFailureReason =操作由于API密钥无效(格式错误或丢失)而失败。有关创建和使用API​​密钥的信息,请参见开发者指南(https://developers.google.com/places/ios-sdk/start)。,NSUnderlyingError = 0x283e81560 {Error Domain = com.google.places.api.server.ErrorDomain代码= -2“ REQUEST_DENIED” UserInfo = {NSLocalizedFailureReason =此API项目无权使用此API。请确保已在Google Developers Console中激活此API:https://console.developers.google.com/apis/api/places_backend?project=_,NSLocalizedDescription = REQUEST_DENIED}}}

关键是我的所有API都在正确的位置被调用了,并且我已经能够使用地图一段时间了。为什么突然停止工作?

最佳答案

最近,Google宣布了新版本的Places SDK客户端,但已弃用了之前的版本。我相信您应该尽快迁移到新版本,因为不推荐使用的版本将很快停止工作。

新的Places SDK客户端要求您在Cloud项目中启用Places API Web服务。错误消息This API project is not authorized to use this API. Please ensure this API is activated in the Google Developers Console: https://console.developers.google.com/apis/api/places_backend?project=_,引用了Places API Web服务。

仔细检查是否启用了Places API Web服务,是否创建了API密钥以及是否正确配置了结算帐户。

官方文档有以下声明


  要使用iOS版Places SDK,您必须:
  
  
  在所有API请求中都包含一个API密钥。
  对每个项目启用计费。
  为您的每个项目启用Places API服务
  


有关更多详细信息,请参阅迁移指南:
https://developers.google.com/places/ios-sdk/client-migration

我希望这有帮助!

09-25 16:47
查看更多