[Google API返回未配置访问权限

问题描述 投票:17回答:4

我以为这很简单,但是由于某种原因,我对此感到不满。

我正在使用PHP + CURL尝试检索Web字体列表。代码很简单:

        $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"
}

我已经设置了服务器访问密钥,并将两个Web服务器的API密钥都放在了它上面。 (要验证我的IP,我在curlmyip.com上做了一个WGET。)我还从“服务”选项卡中启用了“ Web Fonts Developer API”。

我有什么可以忽略的吗?

google-api http-status-code-403
4个回答
21
投票

我找到了解决方案。显然,我需要注册服务器的IPv6地址,而不是IPv4地址。添加它们后,无需任何代码更改即可工作。


13
投票

对于我来说,未启用所需的API

要启用:

  1. 转到https://console.developers.google.com
  2. 单击左上方的菜单图标
  3. 单击菜单中的API Manager
  4. 在搜索栏中搜索您的API(例如YouTube数据API v3,然后单击它)
  5. 在该API的子页面上,单击左上角的启用

4
投票

先删除所有“允许的Ips”,然后再删除任何IP


0
投票

我按顺序尝试了上面列出的解决方案,但没有得到结果。发生这种情况的几个月以来,YouTube,Dialogflow和Google+ API集成一直处于无效状态。

最终唯一的解决方法是:

  • 创建一个新项目
  • 创建新密钥
  • 复制应用程序限制]下的IPv4和IPv6地址] >>
  • 根据您的应用程序的需要更新API限制
© www.soinside.com 2019 - 2024. All rights reserved.