REQUEST_DENIED响应Google Places API请求(sensor = true)

vir*_*ral 3 iphone google-maps ios google-places-api

我正在尝试使用Google Places API获取我所在位置的地点.

以下是用于命名地点搜索的URL的代码.

NSString *URL = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&radius=500&sensor=true&key=0dp-j3dkCU_YUb97RHcbL5shmRrJ5R2y4bYz1Vw"];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:[NSURL URLWithString:URL]
                                                           cachePolicy: NSURLRequestReloadIgnoringLocalCacheData
                                                       timeoutInterval: 4];
[request setValue:@"application/json" forHTTPHeaderField:@"accept"];
NSObject *id1 = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
Run Code Online (Sandbox Code Playgroud)

这得到了以下JSON格式的响应.

{
  "html_attributions" : [],
  "results" : [],
  "status" : "REQUEST_DENIED"
}
Run Code Online (Sandbox Code Playgroud)

在搜索Google Places API时,它说,不正确的传感器参数值是"REQUEST_DENIED"的一般原因.但是,就我而言,我也提供了这个,也是正确的.

任何想法我哪里错了?

同样,我正在使用的APIKey通常用于在Android,iPhone和BlackBerry上开发App.这有效吗?或者,我是否需要另一个APIKey(特定于我的iPhone应用程序)?所以,另一个问题是,我可以在所有三个平台上使用相同的密钥吗?

jli*_*vni 7

我拿了你的网址并替换了我知道有用的密钥,并获得了预期的结果.乍一看,我猜测您复制/粘贴了错误的密钥,或者您没有在API控制台中为项目启用了该密钥与项目的Places API.

重要的是要注意每个项目可以启用不同的服务 - 并且您必须为要使用它的每个项目手动启用Places API - 您是否可以确认它已在控制台中启用并且密钥是否已准确复制?