Я застрял, пытаясь заставить API работать с Google Places. Я использую PHP-прокси на стороне сервера для запроса — не потому, что хочу, а потому, что он является частью JQuery-POI-Mapper.
Я использую сервер Amazon EC2 без статического IP-адреса. На данный момент у меня закончились статические IP-адреса, но я найду время, чтобы запросить больше, если люди думают, что это проблема. Я определил текущий общедоступный IP-адрес моего сервера EC2, выполнив на сервере эту команду:
curl http://169.254.169.254/latest/meta-data/public-ipv4
Затем я перешел на страницу https://code.google.com/apis/console и создал новый ключ API. Я выбрал ключ API на стороне сервера и использовал общедоступный IP-адрес своего сервера EC2.
На вкладке служб я включил все связанные API, которые только мог придумать. , включая:
- API Карт Google v2
- API Карт Google v3
- API геолокации Google Карт
- API мест
- API статических карт
Вот скриншот моих сервисов:
Код прокси, работающий на сервере EC2, является частью коммерческого пакета, поэтому я не должен публиковать весь код, но он очень короткий, и важная часть:
$json = file_get_contents($url);
Переменная $url в моем случае была:
https://maps.googleapis.com/maps/api/place/search/json?location=-37.7133771,145.14891620000003&radius=2000&types=bakery&sensor=false&key=AIzaSyCCUV...
Я получаю ответ:
{
"html_attributions" : [],
"results" : [],
"status" : "REQUEST_DENIED"
}
Я проверил, не превысил ли я уже свою квоту, но все выглядит нормально. Что интересно, Google показывает, что сегодня я отправлял запросы к Places API, поэтому Google точно знает, что запросы исходят от меня.
Вот снимок экрана моего отчета о трафике API, который полностью получен в результате тестирования:
Любые советы будут высоко ценится.
Спасибо, Брет.