我已经阅读了数十条关于返回Request_Denied的Google位置查询的评论,但似乎没有任何信息可以说明我的情况。该应用程序是IOS7和Xcode 5.0.2。
我有一个用于 IOS 应用程序的 API 密钥。在 Google 开发者控制台中,应用程序捆绑标识符列在凭据页面中,并且启用了位置 API。
这是代码的核心:
-(void)queryGooglePlaces: (NSString *)googleType {
NSString *url = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/search/json?location=%f,%f&radius=%@&types=%@&sensor=false&key=%@", currentCenter.latitude, currentCenter.longitude, [NSString stringWithFormat:@"%i",currenDist], googleType, kGOOGLEAPIKEY];
NSLog(@"And the url string is: %@", url);//caveman debuging
NSURL *googleRequestURL = [NSURL URLWithString:url];
dispatch_async(kBgQueue, ^{
NSData *data = [NSData dataWithContentsOfURL:googleRequestURL];
[self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES];
});
}//queryGooglePlaces:googleType
-(void)fetchedData:(NSData *)responseData {
//this is to parse out the json data
NSError *error = nil; //create some error handling here
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
//I'm told the returned results from Google will be an array obtained from the NSDictionary object with the key "results"
NSArray *places = [json objectForKey:@"results"];
//display the data to the console for review
NSLog(@" Google data:n%@", places);
}//fetchedData:responseData
调试输出中的效果显示 json 状态 = 请求被拒绝
密钥__NSCFString * @"状态"0x09a37d10值__NSCFString * @"REQUEST_DENIED"0x17961870
这是 url 字符串的日志,网址字符串为:https://maps.googleapis.com/maps/api/place/search/json?location=37.787359,-122.408227&radius=996&types=café&sensor=false&key=
我已经重新生成了 API 密钥,但没有效果。
任何帮助将不胜感激!
将浏览器密钥用于 Google Places API,它在 iOS 应用程序上运行良好。 最近两天我遇到了类似的问题,并使用浏览器键解决了。
在谷歌群组上阅读过:
"Google Places API 目前不支持从 Google API 控制台生成的 Android 或 iOS 密钥。目前仅支持服务器和浏览器密钥。
希望对你有帮助
Google Places API 不适用于客户端识别的应用程序捆绑包标识符方法。您必须创建一个服务器密钥并将该密钥附加到您请求的 URL,作为您在 URL 字符串中列出的key
参数的参数。