Google API离线访问权限

时间:2016-08-08 14:02:44

标签: javascript oauth-2.0 google-api google-oauth

我在Google控制台中启用了正确的API。这不是问题。 我需要编写一个节点js app,它可以在用户离线时访问用户的数据。 我已经设法实现了oauth2授权,并获得了一个refresh_token,后来我用它来获取一个新的访问令牌。

现在我已经到了实际访问API的程度了。 当从shell调用curl时,我有这个完美的URL:

  

curl https://www.googleapis.com/calendar/v3/calendars/primary/events?access_token=mytoken

它返回包含所有事件的JSON,并且不断地工作。不管我叫它多少次。

当粘贴在任何浏览器的地址栏中时,完全相同的网址会失败。

以下是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相关的搜索都会导致(几乎)相同的页面。

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

使用Google提出的备用方法我在shell中的cURL和节点中获得了一致的结果: 我删除了access_token GET查询参数 我正在添加以下标题: - "授权:持票人ACCESS_TOKEN_HERE"

作品。 感谢您的评论。