【发布时间】:2016-08-08 23:32:31
【问题描述】:
我已在 Google 控制台中启用了适当的 API。这不是问题。 我需要编写一个节点 js 应用程序,它可以在用户离线时访问用户的数据。 我已经成功实现了 oauth2 授权,并获得了一个 refresh_token,我后来用它来获得一个新的访问令牌。
现在我已经到了实际访问 API 本身的地步了。 我有这个 URL,当从 shell 使用 curl 调用时,它完美工作:
卷曲https://www.googleapis.com/calendar/v3/calendars/primary/events?access_token=mytoken
它返回一个包含所有事件的 JSON,并且不断工作。不管我叫它多少次。
然而,完全相同的 URL 在粘贴到任何浏览器的地址栏中时都会失败。
以下是 Google 发送的回复:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceededUnreg",
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
"extendedHelp": "https://code.google.com/apis/console"
}
],
"code": 403,
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
}
}
当使用“request”模块从节点js中的服务器端调用时,它也会失败并出现相同的错误:
request('https://www.googleapis.com/calendar/v3/calendars/primary/events?token=mytoken', function(err, httpResponse, body){ /* ..print body or fail.. */ }
我所有与 google-api 相关的搜索都指向(几乎)相同的页面。
有人知道我做错了什么吗?
【问题讨论】:
-
已超过未经验证使用的每日限制。继续使用需要注册,显然去code.google.com/apis/console 并在那里注册您的应用程序
-
他们经常抛出“超出使用”错误,而这实际上并不是原因。如果 ^^ 没有任何帮助,请尝试发布数据而不是将其放入查询字符串中。
-
感谢 cmets,伙计们:这样我就可以仔细检查 - 我去了我的谷歌控制台,确实启用了日历 API。提醒一下:在我的问题中,我写道 API 请求确实确实工作 - 但仅在 curl(获取请求)中。我推断它理论上应该在浏览器和节点中完美运行。
标签: javascript oauth-2.0 google-api google-oauth