2013-07-17 90 views
1

我爲我的iOS應用程序使用Google Places API。我已從API控制檯啓用Google Maps Android API v2 API Places。在API訪問部分創建iOS密鑰。我正在給谷歌Places API的請求,使用下面的代碼:Google Places API響應狀態「Request_Denied」

NSString *finalString = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/search/json?location=%f,%f&radius=5000&keyword=restaurants&sensor=false&key=PASTE_GENERATED_KEY_HERE",_location.coordinate.latitude,_location.coordinate.longitude]; 

    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:finalString]]; 

但我得到下面的JSON響應

{ 
    "debug_info" =  (
    ); 
    "html_attributions" =  (
    ); 
    results =  (
    ); 
    status = "REQUEST_DENIED"; 
} 

我已經再生未工作,以及新的密鑰。有人可以請弄清楚我在這裏做錯了什麼。

+0

是否在API控制檯中啓用了特定項目? – Stavash

+0

看看這個。 [鏈接](http://stackoverflow.com/questions/9060563/google-places-api-request-denied) –

+0

另外如果你想要餐廳,你最好使用類型=餐廳而不是關鍵字。這兩種方式各有不同。 –

回答

5

「......在谷歌Places API的目前不支持從谷歌API控制檯產生的iOS鍵,只有服務器和瀏覽器鍵,目前支持。」

...如果你想申請這個支持,請從這個應答文件Places API - Feature Request。」

https://stackoverflow.com/a/14744513/1702413

您可以使用谷歌地圖的JavaScript API V3(Places Library of the Google Maps API v3

或..

從iOS的工作。如果您使用的是像煎茶觸摸的HTML5移動應用程序框架..你可以檢查此教程Create a Location-Aware Site with Sencha Touch

UPD

是,如果你使用的是Key for browser apps (with referers)從API工作控制檯

例如(我使用AFNetorking):

 NSURL *url = [NSURL URLWithString:@"https://maps.googleapis.com/maps/api/place/textsearch/json?query=restaurants+in+Sydney&sensor=true&key=yourKEYforBrowser"]; 

NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { 

      NSArray *result = [JSON valueForKeyPath:@"results"]; 
      NSLog(@"Google Resp: %@", result); 

     } 
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) 
              { 
               NSLog(@"error"); 
              } 
              ]; 

     [operation start]; 
+0

那麼我怎樣才能獲取附近的iOS應用程序的所有詳細信息,如地址,評級,聯繫電話,圖標等?? –

+0

剛剛嘗試過......如果您使用的是「瀏覽器應用程序(帶查閱程序)的鍵」 – TonyMkenu

+0

這也工作得很好... https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&radius=500&types=food&sensor=true&key=browserkey – TonyMkenu

1

這是很容易得到谷歌Places API的鍵:

在其中創建的「Android/iOS版」鍵,沒有用於創建瀏覽器密鑰的更多按鈕。

只需按下「創建新的瀏覽器密鑰」並點擊「創建」按鈕。

「但不離身空」

有關詳細信息similar question,@Moe explaind用截圖的完整流程。