Вопрос по поводу Google Translate API
Я устанавливаю проект и включаю выставление счетов (с некоторыми деньгами на счете)
Я создал ключ для серверного приложения (также пытался использовать ключ браузера) и добавил все 3 IP-адреса, которые у меня есть (домашний и 2 сервера)
Что я вижу:
Работает в apis-explorer и в адресной строке браузера (https://www.googleapis.com/language/translate/v2/detect?q=an%20english%20text&ключ = MY_KEY)
Он возвращает ошибку 403, если я пытаюсь получить тот же URL из кода PHP:
$ apiKey = ‘MY_KEY’;
$ url = ‘https://www.googleapis.com/language/translate/v2/detect?q=an%20english%20text&ключ =‘. $ 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. Это делает так, что это менее безопасно, но он примет все IP после этого.