Google Places API request(sensor = true)のreprect_denied
-
27-10-2019 - |
質問
Google Places APIを使用して、自分の場所の周りに場所を取得しようとしています。
Places検索の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形式で次の回答が得られます。
{
"html_attributions" : [],
"results" : [],
"status" : "REQUEST_DENIED"
}
Google Places APIを検索すると、間違っていると言います センサー パラメーター値は、「request_denied」の一般的な原因です。しかし、私の場合、私もそれを正しいと提供しています。
どこで間違っているのか考えてみませんか?
繰り返しになりますが、私が使用しているApikeyは、アプリがAndroid、iPhone、BlackBerryで開発するのが一般的です。それは有効ですか?または、別のApikey(iPhoneアプリに固有)が必要ですか?だから、別の質問は、 3つのプラットフォームすべてで同じキーを使用できますか?
解決
私はあなたのURLを取り、私が知っていることを知っているキーを置き換え、期待される結果を得ました。一見、キーを誤ってコピー/貼り付けた/貼り付けたか、このキーがAPIコンソールで関連付けられているプロジェクトのAPIを有効にしていないことを推測しています。
各プロジェクトに異なるサービスを有効にすることができることに注意することが重要です - そして、それを使用したい各プロジェクトのAPIを手動で有効にする必要があります - コンソールで有効になり、キーが正確にコピーされていることを確認できますか?
他のヒント
このエラーメッセージは、必要なパラメーターが欠落している場合にも表示されます。
たとえば、私はちょうど同様の問題を抱えていました /autocomplete
場所APIのエンドポイント。
にリクエストを送信します https://maps.googleapis.com/maps/api/place/autocomplete/json?key=XXXXXXXXXXXXXXXXXX&input=San, 、私はこのような応答を得ていました:
{
"predictions" : [],
"status" : "REQUEST_DENIED"
}
それは許可の問題のように見えますが(少なくとも私にとっては)、私は単に必要なものを逃していたことがわかりました sensor
パラメーター。