API URL-адресов URL-адресов API возвращает ipRefererBlocked

Я пытаюсь использовать API-интерфейс сокращения URL-адресов Google с помощью PHP:

$apiKey = 'ABC'; $url = 'http://www.stackoverflow.com/'; $postData = array('longUrl' => $url); $jsonData = json_encode($postData); $curlObj = curl_init(); curl_setopt($curlObj, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url?key=' . $apiKey); curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curlObj, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curlObj, CURLOPT_HEADER, 0); curl_setopt($curlObj, CURLOPT_HTTPHEADER, array("Content-Type: application/json; charset=utf-8","Accept:application/json, text/javascript, */*; q=0.01")); curl_setopt($curlObj, CURLOPT_POST, 1); curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData); $result = curl_exec($curlObj); 

Но я получаю следующее сообщение об ошибке:

 { "error": { "errors": [{ "domain": "usageLimits", "reason": "ipRefererBlocked", "message": "There is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your API key configuration if request from this IP or referer should be allowed.", "extendedHelp": "https://console.developers.google.com" }], "code": 403, "message": "There is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your API key configuration if request from this IP or referer should be allowed." } 

Я проверил следующее:

  • Что референты установлены (как http, так и https)
  • Что консоль API регистрирует все запросы, но, к сожалению, как «ошибки клиента», а не как «успех»,

Сценарий запускается всякий раз, когда пользователь посещает страницу.

Я очень ценю любой совет, который помогает мне пройти эту неприятную проблему. Кажется, я не нашел никакого решения «там».

Это проблема с настройками приложений в Google Developers Console . На экране учетных данных перечислены IP-адреса, которым разрешено использовать ключ API. Это предохранение от безопасности, чтобы помочь защитить ключ, если он протекает.

введите описание изображения здесь

Вам необходимо изменить разрешенные IP-адреса либо пустым (менее безопасным), либо обновить его, чтобы включить фактический IP-адрес вашего сервера.

введите описание изображения здесь

Я просто добавлю к этому, что у меня была аналогичная проблема при использовании Google API с облачного сервера Rackspace. Если добавлены ЛЮБЫЕ IP-адреса, он всегда будет заблокирован (проверен несколько раз, чтобы убедиться, что это правильный IP-адрес, включая запросы от сервера на страницу, сообщающую о удаленном IP-адресе). Поэтому из облачных узлов Rackspace я должен разрешить любой IP-адрес. Если я хожу где-нибудь еще, тогда ограничения IP работают так, как они были разработаны.