使用Node https://github.com/google/google-api-nodejs-client库,我试图访问公共假日。我可以正常工作,并且可以访问API。当我测试事件的时候。使用API资源管理器列出端点,我怀疑日历有效。
calendarId:‘en.sa#假日@Groupp.v.cal宪兵.google.com’
存在于我的个人日历中,但不存在于应用程序日历中。
当我试图在我的节点应用程序中获取日历列表时,列表是空的:
calendar.calendarList.list({auth: jwtClient}, calenderGetComplete);所以events.list找不到日历。
calendar.events.list({ calendarId :'en.sa#holiday@group.v.calendar.google.com', auth: jwtClient}, calenderGetComplete);因此,在个人日历上,人们可以添加其他有趣的日历,比如公共假日日历,但似乎你不能在应用程序使用的日历上这样做?似乎公共日历没有“有趣的日历”?
发布于 2016-04-05 06:59:21
我不知道您是如何验证Oauth2或服务帐户的?
日历列表和日历是有区别的。日历列表只是谷歌日历网站左下角的一个小列表,它没有真正的用途(IMO)。如果您正在使用一个服务帐户,并授予它对您的个人(例如: chrisMalherbe at gmail.com)的一个个人日历的访问权限,那么它将有权访问它,但它不会出现在服务帐户日历中。列表,除非您手动将其插入其中。当您将这些有趣的日历添加到个人Google日历页面(例如: chrisMalherbe at gmail.com)时,网站会自动将其添加到日历中。给你的名单。
它真的不需要出现在那里。
至于公共日历,每个人都可以访问,他们不需要在日历列表上。它们是公共的,您可以创建一个公共API密钥并向它们请求数据。我不确定日历en.sa是什么,但我会拿出您的API键并将其转储到web浏览器中,以确保有数据。如果内存服务,有少数没有数据,而且数据只在一年前--我想如果你在寻找2020年的假期--就不会有任何数据。
GET https://www.googleapis.com/calendar/v3/calendars/en.sa#holiday@group.v.calendar.google.com/events?key=[APIKey]如果不想使用公共API密钥,也可以使用访问令牌。
GET https://www.googleapis.com/calendar/v3/calendars/en.sa#holiday@group.v.calendar.google.com/events?access_token=[accesstoken]我不是node.js专家,但我发现这个节点-google可能有帮助,我有一个教程,它主要解释了公共日历是如何工作的,但是它在C#中可能对您有帮助,也可能没有帮助。使用C#的公共谷歌日历
https://stackoverflow.com/questions/36406779
复制相似问题