我已经在我的应用程序中运行了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
我希望这有帮助!