0

Когда я удалить часть ключа API, он отлично работаетGoogle Map API геокодирования, когда ключ API возвращает данный REQUEST_DENIED

$details_url = "http://maps.googleapis.com/maps/api/geocode/json?address=" . $string."&sensor=false"; 

Когда добавить ключ API, он говорит REQUEST_DENIED.

$apiKey = 'AIzaSyCy2C82dDZlHkwGZ_fCfgh5gBdo50Q8cE0'; 
$string = str_replace(" ", "+", urlencode($string)); 
$details_url = "http://maps.googleapis.com/maps/api/geocode/json?address=" . $string."&sensor=false&key=".$apiKey; 
$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $details_url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$response = json_decode(curl_exec($ch), true); 

Это первый раз я использую геокодирования API и я должен работать на основе ключа API, потому что когда мы не находим достаточно 2500 запросов в день мы будем покупать платить, как вы идете план , (google map for business)

Ключ API, который я создал, был новым ключом сервера на панели консоли.

что я делаю, чтобы не принимать свой ключ api? однако, когда я добавляю ключ API и пытаюсь через браузер, он работает нормально, как показано ниже, и я мог видеть отчеты об использовании и использовать квоту на консоли Google.

https://maps.googleapis.com/maps/api/geocode/json?address=2140+Amphitheatre+Parkway,+Mountain+View,+IN&key=AIzaSyCUDSJ2GBE1DHupbAZT4u8gZqclkIhmb0M 
+0

Когда я делаю http в https, он возвращается пустым. – dev1234

+0

Я также выполнил шаги здесь https://developers.google.com/maps/documentation/geocoding/get-api-key – dev1234

+0

В нем говорится, что ключ истек – RamRaider

ответ

1

запрос апи должен быть отправлен по https для начала, и тогда вы увидите, что ключ истек.

$string = 'Dundee, Scotland'; 
$apiKey = 'AIzaSyCy2C82dDZlHkwGZ_fCfgh5gBdo50Q8cE0'; 
$string = str_replace(" ", "+", urlencode($string)); 
$url = "https://maps.googleapis.com/maps/api/geocode/json?address=" . $string."&sensor=false&key=".$apiKey; 

$cacert='c:/wwwroot/cacert.pem'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CAINFO, realpath($cacert)); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,2); 

$response = json_decode(curl_exec($ch), true); 
$info = curl_getinfo($ch); 
curl_close($ch); 


echo '<pre>', print_r($info,1), PHP_EOL, print_r($response, 1), '</pre>'; 
Смежные вопросы