【问题标题】:Google API returning Access Not ConfiguredGoogle API 返回访问未配置
【发布时间】:2012-12-30 04:45:22
【问题描述】:

我认为这是直截了当的,但由于某种原因,我在这个问题上受到了打击。

我正在使用 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"
}

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

有什么我可以忽略的吗?

【问题讨论】:

    标签: google-api http-status-code-403


    【解决方案1】:

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

    【讨论】:

    • 嘿,安东尼。应该在哪里进行配置?
    • @KiranRuthR 它隐藏得惊人。访问code.google.com/apis/console。首先,确保在“服务”下启用了您想要的服务。然后转到“API 访问”并指定您的调用域或 IP 地址。
    • @Anthony:即使我在使用本地主机时也面临同样的问题。我应该添加本地主机的 IPv6 吗?
    • @curious_coder 我不知道 localhost 是否可以工作。很可能是您机器的 IP 地址。尝试访问 whatismyv6.com 并提供该信息,因为这是您的流量来源。
    • 谢谢...我已经有本地主机,但没有打开日历的访问权限。
    【解决方案2】:

    就我而言所需的 API 未启用

    启用:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • Brayon,解释一下您是如何配置允许的 Ips 的?
      • 谢谢。是的,删除所有允许的 IP 对我的“公共 API 访问”服务器密钥有效。它没有立即工作(使用 cli curl 测试),所以我重新生成了密钥。新的立即起作用,但几分钟后原来的也起作用了。
      【解决方案4】:

      我按顺序尝试了上面列出的解决方案,但未能得到结果。发生这种情况时,YouTube、Dialogflow 和 Google+ API 集成已停用几个月。

      最终唯一的解决方案是:

      • 创建一个新项目
      • 创建新密钥
      • 复制应用程序限制下的 IPv4 和 IPv6 地址
      • 根据您的应用程序的需要更新 API 限制

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-22
        • 1970-01-01
        • 2012-06-12
        • 1970-01-01
        • 2014-02-08
        • 1970-01-01
        • 2013-01-06
        • 2014-01-27
        相关资源
        最近更新 更多