在Java中从日历API资源管理器复制代码

在Java中从日历API资源管理器复制代码,java,google-calendar-api,Java,Google Calendar Api,我正在玩API资源管理器: 我可以得到那份工作,(在经过OAuth认证后)。请求如下所示: 获取{YOUR_API_KEY} 授权:ya29.1.FGDtN_WzfD1qNt86qJJlIwR65hdr1sU6BYqndDRPgyMF5xVK2olOacitZH41hQ X-JavaScript-User-Agent:Google API浏览器 我正试图用球衣重现这一点(钥匙和东西都已更改): 不幸的是,这不起作用-我得到了回报: jerseyTest App - status: 401 res

我正在玩API资源管理器:

我可以得到那份工作,(在经过OAuth认证后)。请求如下所示:

获取{YOUR_API_KEY}

授权:
ya29.1.FGDtN_WzfD1qNt86qJJlIwR65hdr1sU6BYqndDRPgyMF5xVK2olOacitZH41hQ

X-JavaScript-User-Agent:
Google API浏览器

我正试图用球衣重现这一点(钥匙和东西都已更改):

不幸的是,这不起作用-我得到了回报:

jerseyTest App - status: 401 response:
{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "authError",
    "message": "Invalid Credentials",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Invalid Credentials"
 }
}

有人知道原因吗?

您没有指定要列出日历的用户。在两条腿的OAuth中,您可以使用
xoauth\u requestor\u id
参数指定用户。请参阅此链接以了解更多信息。但是,我认为这不是主要问题。主要问题是您不能使用API Explorer中的
授权
头。您必须为
API密钥
secret
生成新密钥。有关更多信息,请参阅本页。在Java中,您可以使用Google为日历API开发的非常好的库:。我建议使用此库而不是生成本机查询。

您从哪里获得访问令牌ya29.1.FGDtN_WzfD1qNt86qJJlIwR65hdr1sU6BYqndDRPgyMF5xVK2olOacitZH41hQ?你在考试前多久拿到了它(假设代币在1小时后过期)?非常感谢你的帮助。我会听从你的建议。
jerseyTest App - status: 401 response:
{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "authError",
    "message": "Invalid Credentials",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Invalid Credentials"
 }
}