2012-01-12 11 views
3

GoogleプレイスAPIを使用して、自分の位置周辺の場所を取得しようとしています。Google Places APIリクエストの応答でREQUEST_DENIED(センサー= true)

以下は、場所検索の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]; 

次のレスポンスをJSON形式で取得します。 GoogleプレイスAPIの検索の

{ 
    "html_attributions" : [], 
    "results" : [], 
    "status" : "REQUEST_DENIED" 
} 

、それは言う、間違ったセンサーパラメータの値が "REQUEST_DENIED" のための一般的な原因です。しかし、私の場合、私はそれも正しいとしています。

私が間違っていますか?

また、私が使用しているAPIキーは、Android、iPhone、BlackBerryで開発されるアプリケーションに共通しています。それは有効ですか?または、別のAPIKeyが必要ですか(iPhoneアプリに固有)ですか?だから、別の質問は、私は3つのプラットフォームすべてで同じキーを使用できますか?

+0

私はあなたが誰かがあなたの嘆願を聞いたことを知っているので、私はコメントしたいと思った!私はドキュメント** https://maps.googleapis.com/maps/api/place/search/json?location = -33.8670522,151.1957362&radius = 500&types = food&name = harbor&sensor = false&key = AIzaSyAiFpFd85eMtfbvmVNEYuNds5TEF9FjIPI **のURLを試しました** REQUEST_DENIEDも与えられます。私はあなたのapiキーをそのURLに置き換えて、拒否しました。あなたのURLが文書化された例から「欠落している」唯一のものは&typesと&nameです。私は考えることができるすべての順列を試しましたが、依然としてDENIEDを得ました。 – Damo

+0

@Damo:お試しいただきありがとうございます。私はあなたの努力に感謝します。 :) – viral

答えて

7

私はあなたのURLを取って、私が知っているキーを代用し、期待される結果を得ました。一見すると、あなたのコピー/貼り付けのキーが間違っているか、このキーがAPIコンソールに関連付けられているプロジェクトのPlaces APIを有効にしていないと思われます。

各プロジェクトで異なるサービスを有効にすることができます.Places APIを使用するプロジェクトごとに手動で有効にする必要があります。コンソールで有効になっていることを確認してキーをコピーします正確に?

+1

APIコンソールで有効になっていませんでした。今、うまくいきます。御時間ありがとうございます。 – viral

+0

@jlivni Google Places APIはネイティブIOSアプリケーションで動作しますか? –

+0

@Pranavこれは単なるRESTのようなAPIです。ネイティブアプリからPlaces APIへのhttpリクエストを作成し、結果を解析して(利用規約の範囲内で)適切に表示することができます。 – jlivni

0

このエラーメッセージは、必須パラメータが不足している場合にも表示されます。

たとえば、Places APIの/autocompleteエンドポイントを使用して同様の問題が発生しました。 https://maps.googleapis.com/maps/api/place/autocomplete/json?key=XXXXXXXXXXXXXXXXXX&input=Sanにリクエストを送信する

は、私はこのような反応を得ていた。

{ 
    "predictions" : [], 
    "status" : "REQUEST_DENIED" 
} 

それは(少なくとも私には)アクセス許可の問題のように見えるにもかかわらず、それは私が単に必要がありませんでしたが判明しsensorパラメータ。

関連する問題