在创建新 key 并删除旧 key 后,我在我的 iOS Xcode 项目中使用适用于 iOS 的 Google Maps SDK 的不受限制的 api key ,但我的请求被拒绝了。在我使用第一个键之前它起作用了。
这是错误信息:
[error_message: This API project is not authorized to use this API., status: REQUEST_DENIED, routes: <__NSArrayM 0x60000097f5d0>(
)
这是我在 AppDelegate 中的代码:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
GMSServices.provideAPIKey("***")
GMSPlacesClient.provideAPIKey("***")
}
这是我运行请求的代码:
let directionsURLString = "https://maps.googleapis.com/maps/api/directions/json?origin=1%20Cuntry%20Club%20Ln,%20Texarkana,%20AR&destination=1%20Cuntry%20Club%20Ln,%20Texarkana,%20AR&waypoints=optimize:true%7C921%20Orleans%20St,%20Texarkana,%20AR%7C2510%20E.%2011th%20St.,%20Texarkana,%20AR%2071846%7C4125%20Lynn%20Dr,%20Texarkana,%20TX%7C6002%20Yorktown%20Pl,%20Texarkana,%20TX%7C7007%20Stonewall%20Dr,%20Texarkana,%20TX%7C4009%20Constitution%20Dr,%20Texarkana,%20TX%7C413%20Dundee%20Rd,%20Texarkana,%20AR%7C2219%20Hazel%20St,%20Texarkana,%20TX%7C414%20Central%20Ave,%20Wake%20Village,%20TX&mode=driving&key=***"
let directionsURL = URL(string: directionsURLString)!
DispatchQueue.main.async {
do {
let directionsData = try Data(contentsOf: directionsURL)
let dictionary: Dictionary<NSObject, AnyObject> = try JSONSerialization.jsonObject(with: directionsData, options: JSONSerialization.ReadingOptions.mutableContainers) as! Dictionary<NSObject, AnyObject>
print(dictionary)
let status = dictionary["status" as NSObject] as! String
print("status=" + status)
} catch {
print(error)
}
}
最佳答案
如果您的 API key 确实完全不受限制,那么您遇到的这个 REQUEST_DENIED 错误可能意味着以下内容:
A) 与您的项目相关联的计费帐户存在问题,或者您没有 created一。请仔细检查您的结算帐户是否已启用且信誉良好。
B) 您的项目禁用了 Directions API。要启用它,请查看 this guide .
希望这对您有所帮助!
关于ios - 在创建新 key 并删除旧 key 后,我在我的 iOS Xcode 项目中使用适用于 iOS 的 Google Maps SDK 的不受限制的 api key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59437644/