我使用谷歌的控制台为我的项目生成了一个API密钥。然后正如他们在文档中提到的那样,我在AppDelegate
方法的应用程序didFinishLaunchingWithOptions
中添加了密钥。以下代码:
[GMSServices provideAPIKey:@"{MY_API_KEY}"];
然后我使用以下代码从我的ViewController中发送Google Places Auto完成请求:
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]
initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/autocomplete/json?input=%@&sensor=false&key={MY_API_KEY}",searchString]]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:120];
placesListConnection = [NSURLConnection connectionWithRequest:request delegate:self];
我收到以下回复:
{
"error_message" : "This IP, site or mobile application is not authorized to use this API key.",
"predictions" : [],
"status" : "REQUEST_DENIED"
}
我在这里做错了什么?如何纠正这个?
答案 0 :(得分:1)
终于解决了这个问题。我没有为IOS使用API_KEY
,而是为网络创建了一个API_KEY
,不需要引荐来源,然后使用该密钥发送请求。现在它工作得很好。
答案 1 :(得分:0)
您检查过Developers Console吗?是否在API和API下启用了Places API auth>的API?