Google API, возвращающий Access Not Configured

Я думал, что это будет прямо, но по какой-то причине меня забивают на этом.

Я использую PHP + CURL, чтобы попытаться получить список веб-шрифтов. Код прост:

        $url = "https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity&key=MY_SERVER_APPS_KEY";

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        $google_response = curl_exec($ch);
        curl_close($ch);            

Код попадает в Google, но $google_response всегда возвращает:

"error": {
    "code": 403,
    "errors": [
        {
            "domain": "usageLimits",
            "reason": "accessNotConfigured",
            "message": "Access Not Configured"
        }
    ],
    "message": "Access Not Configured"
}

Я установил ключ доступа к серверу и поместил на него оба ключа API веб-сервера. (Чтобы проверить свой IP-адрес, я сделал WGET на curlmyip.com). Я также включил "API-интерфейс разработчика веб-шрифтов" на вкладке "Службы".

Есть ли что-нибудь, что я мог бы игнорировать?

Ответ 1

Я нашел решение. По-видимому, мне нужно было зарегистрировать адрес IPv6 на сервере, а не IPv4. Работала без изменений кода после их добавления.

Ответ 2

В моем случае необходимый API не был включен.

Чтобы включить:

  • Перейдите в https://console.developers.google.com
  • Нажмите значок меню в левом верхнем углу
  • Нажмите API Manager в меню
  • Найдите свой API в строке поиска (например, API данных YouTube версии 3) и нажмите на него.
  • Как только на подстранице для этого API нажмите Enable в левом верхнем углу

Ответ 3

удалить все "разрешенные Ips", затем разрешить любой IP-адрес