8

我正在使用 Python/Twisted 对 Google+ API 进行异步 HTTP 调用。我们的客户端应用程序传递了用户的 access_token 并且我们执行 API 调用以...

https://www.googleapis.com/plus/v1/people/me/?%s&key=%s&

... 其中 %s 和 %s 分别填充了有效的 access_token 和(假定)有效的简单 API 密钥。

昨天一切都很顺利。今天,当 API 突然开始返回时,我继续为此进行单元测试:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "keyInvalid",
    "message": "Bad Request"
   }
  ],
  "code": 400,
  "message": "Bad Request"
 }
}

usageLimits, keyInvalid... 好的,我明白了。我似乎已经达到了使用限制,并且他们已经使来自该帐户的 API 密钥无效。除了,我没有...

“礼貌限制”应该是“10,000 个请求/天”,但我只打了几百个电话(根据 Google 自己的使用情况图表),我仍然在配额选项卡上看到“0% 已使用”。

我会直接把这个带到谷歌,但他们似乎已经放弃了他们的开发者谷歌小组,转而支持实际上没有收到任何回复的谷歌+讨论。

非常感谢任何帮助或指导。谢谢!

4

5 回答 5

8

答案很简单!您不能在同一个 API 调用中同时发送 access_token 和密钥。如果您使用 access_token 您正在以用户身份验证 API 调用,如果您使用您的项目 Simple API Key 您正在以您自己的身份进行身份验证。如果您同时使用两者,则呼叫失败。

于 2013-07-03T16:59:45.607 回答
7

我们很清楚,您使用的是Google API 控制台页面中的密钥吗?在那里,您应该在页面左上角附近看到一个“API 访问”选项卡。确保您使用的 API Key 是您的Key for browser apps (with referers)Key,否则将无法使用。

无论如何,我的 API 调用看起来像这样:

https://www.googleapis.com/plus/v1/people/114789529333378876576?key=ENTER_YOUR_KEY_HERE

在没有有效密钥的情况下,您应该能够每天至少进行一次 API 调用。

于 2013-07-02T23:04:14.297 回答
3

这花了我很长时间才弄清楚,所以希望能节省一些时间给别人:)

看看这个帖子,由谷歌员工(2012 年......)https://groups.google.com/forum/#!topic/google-ajax-search-api/HuKhXfsoMQc

回复较晚,抱歉。当您的密钥受到限制(例如锁定到特定的引用者或 IP 地址)时,也会发生此错误(我们正在努力改进其描述性)。如果您在 API 控制台中设置了此类限制,请确认您发出请求的引用者或 IP 地址。请特别注意引用者上使用的任何通配符 - 例如,如果您使用 *.abc.com,如果您的请求来自“yoururl”,它将不起作用。

如果谷歌团队解决了这个问题也很棒!:)

于 2014-04-24T22:44:24.490 回答
1

就我而言 - 我只需要等待几分钟,因为更新我的 API KEY 后的时间很短。每当您在 YT 开发者控制台上创建或更新新密钥时。YT 最多可在 15 分钟内完成所有更改

于 2015-03-16T19:12:58.850 回答
0

在我的例子中,我有一个名为 Key 的参数,所以它认为这是一个实际的键,只是重命名了参数。

于 2015-01-08T00:25:14.483 回答