Google API 返回访问未配置
Posted
技术标签:
【中文标题】Google API 返回访问未配置【英文标题】:Google API returning Access Not Configured 【发布时间】: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”。
有什么我可以忽略的吗?
【问题讨论】:
【参考方案1】:我找到了解决方案。显然我需要注册我的服务器的 IPv6 地址,而不是 IPv4。添加后无需任何代码更改即可工作。
【讨论】:
嘿,安东尼。应该在哪里进行配置? @KiranRuthR 它隐藏得惊人。访问code.google.com/apis/console。首先,确保在“服务”下启用了您想要的服务。然后转到“API 访问”并指定您的调用域或 IP 地址。 @Anthony:即使我在使用本地主机时也面临同样的问题。我应该添加本地主机的 IPv6 吗? @curious_coder 我不知道 localhost 是否可以工作。很可能是您机器的 IP 地址。尝试访问 whatismyv6.com 并提供该信息,因为这是您的流量来源。 谢谢...我已经有本地主机,但没有打开日历的访问权限。【参考方案2】:就我而言所需的 API 未启用。
启用:
-
转到https://console.developers.google.com
点击左上角的菜单图标
从菜单中点击
API Manager
在搜索栏中搜索您的 API(例如 YouTube Data API v3)并点击它
在该 API 的子页面上,单击左上角的 启用
【讨论】:
【参考方案3】:删除所有“允许的 IP”,然后删除任何允许的 IP
【讨论】:
Brayon,解释一下您是如何配置允许的 Ips 的? 谢谢。是的,删除所有允许的 IP 对我的“公共 API 访问”服务器密钥有效。它没有立即工作(使用 cli curl 测试),所以我重新生成了密钥。新的立即起作用,但几分钟后原来的也起作用了。【参考方案4】:我按顺序尝试了上面列出的解决方案,但未能得到结果。发生这种情况时,YouTube、Dialogflow 和 Google+ API 集成已停用几个月。
最终唯一的解决方案是:
创建一个新项目 创建新密钥 复制应用程序限制下的 IPv4 和 IPv6 地址 根据您的应用程序的需要更新 API 限制【讨论】:
以上是关于Google API 返回访问未配置的主要内容,如果未能解决你的问题,请参考以下文章
访问未配置。您的项目未启用 API (Google+ API)。请使用 Google Developers Console 更新您的配置
例外:未配置访问 - API 更新后使用 Google Apps 脚本的 BigQuery