Речь идет о API Google Translate
Я установил проект и включил выставление счетов (с некоторыми деньгами на счете)
Я создал ключ для серверного приложения (также попробовал использовать ключ браузера) и добавил все 3 IP-адреса, которые у меня есть (домашний и 2 сервера)
Что я вижу:
Он работает в apis-explorer и в адресной строке браузера (https://www.googleapis.com/language/translate/v2/detect?q=an%20english%20text&key=MY_KEY)
Он возвращает ошибку 403, если я пытаюсь получить тот же URL-адрес из кода PHP:
$ apiKey = 'MY_KEY';
$ url = ' https://www.googleapis.com/language/translate/v2/detect?q=an%20english%20text&key= '. $ apiKey. '';
$ handle = curl_init ($ url);
curl_setopt ($ handle, CURLOPT_RETURNTRANSFER, true);
$ response = curl_exec ($ handle);
curl_close ($ ручка);
print_r (json_decode ($ response, true));
Результат:
Array (
[error] => Array (
[errors] => Array (
[0] => Array (
[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.
))
Я проверил IP-адреса десятки раз, попробовал использовать ключ браузера с разрешенным URL-адресом в качестве ссылочного. Из идей.
Спасибо, админы, они помогли разобраться. По умолчанию - завиток, используя наш адрес ipv6...
Итак, у нас есть три варианта:
curl_setopt ($ handle, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
добавить адрес ipv6 в список разрешенных
Отключите ipv6 для сервера
Я должен был быть более внимательным и помнить о ipv6 :-)
Мне сказали, что это исправлено, просто удалив все Ip из опции разрешенного разрешенного редактирования. Это делает его менее безопасным, но после этого он будет принимать все IP.