谷歌日历API:在没有用户登录的情况下,如何获取公共日历的事件?

谷歌日历API:在没有用户登录的情况下,如何获取公共日历的事件?,api,oauth,calendar,google-calendar-api,Api,Oauth,Calendar,Google Calendar Api,我正在尝试使用谷歌日历API来获取我拥有的公共日历的最新事件列表。这样我的客户就可以编辑日历,信息就会出现在网站上。以下是我迄今为止的代码(我从谷歌的一个示例中编辑): 为什么我没有以只读方式访问此公共日历的身份验证???您的错误意味着请求中的凭据不正确(或丢失)。使用库的http日志功能检查对GoogleAPI服务器的请求和响应。每个请求都应该有一个带有承载令牌的“授权”头。由此,您需要在头中传递授权:Oauth{access token} 您可以查看此SO帖子: 你需要做的是使用一个。然后,

我正在尝试使用谷歌日历API来获取我拥有的公共日历的最新事件列表。这样我的客户就可以编辑日历,信息就会出现在网站上。以下是我迄今为止的代码(我从谷歌的一个示例中编辑):


为什么我没有以只读方式访问此公共日历的身份验证???

您的错误意味着请求中的凭据不正确(或丢失)。使用库的http日志功能检查对GoogleAPI服务器的请求和响应。每个请求都应该有一个带有承载令牌的“授权”头。由此,您需要在头中传递
授权:Oauth{access token}

您可以查看此SO帖子:

你需要做的是使用一个。然后,您可以将服务帐户电子邮件地址添加到您网站的日历中。然后,服务帐户将能够访问此日历,包括事件

您还可以在开发人员控制台中注册并创建API密钥。然后你可以做:

GET https://www.googleapis.com/calendar/v3/calendars/<CALENDAR_EMAIL>/events?key={YOUR_API_KEY}
GEThttps://www.googleapis.com/calendar/v3/calendars//events?key={你的API密钥}

希望这有帮助

对不起,我有点困惑。所以我去创建了一个应该链接到此项目的服务帐户,并将该帐户添加到日历中,以便它能够查看它。但我不知道从那以后该怎么办。SA有一个密钥ID,但我不确定我是否应该在任何地方使用它。我的代码与之前发布的代码完全相同,我不确定应该修改什么:(
{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Login Required",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Login Required"
 }
}
GET https://www.googleapis.com/calendar/v3/calendars/<CALENDAR_EMAIL>/events?key={YOUR_API_KEY}