当前位置: 首页 > 知识库问答 >
问题:

谷歌日历API公共假期

林弘壮
2023-03-14

使用节点https://github.com/google/google-api-nodejs-client库,我试图访问公共假期。我有身份验证工作,并可以访问API。当我测试事件时。使用API资源管理器列出endpoint,我怀疑日历有效。

日历 Id :“en.sa#holiday@group.v.calendar.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);

因此,在个人日历上,你可以添加其他有趣的日历,如公共假日日历,但似乎你不能为应用程序正在使用的日历这样做?似乎公共日历没有“有趣的日历”?

共有1个答案

孟正志
2023-03-14

我不知道你是如何验证OAuth2还是服务号?

日历列表和日历是有区别的。日历列表只是谷歌日历网站左下角的一个小列表,它没有真正的用途(IMO)。如果你使用一个服务号,并授予它访问你的个人(例如:chrisMalherbe atgmail.com)谷歌日历的权限,它将可以访问它,但它不会出现在服务帐户日历中。除非你手动插入它。当你将这些有趣的日历之一添加到你的个人谷歌日历页面时(例如:chrisMalherbe atgmail.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专家,但我发现了这个node-google-api,它可能会有所帮助。我有一个教程,它主要解释了公共日历的工作原理,但是它是用C#编写的,可能对你有任何帮助,也可能没有。用C#编写的公共谷歌日历

 类似资料:
  • 我正在使用谷歌日历API V3。 我正在尝试列出所选国家的所有假日https://www.googleapis.com/calendar/v3/calendars/en.uk#holiday@group.v.calendar.google.com/events?key=mykey 但首先我需要用所有支持的国家/地区ID创建一个select。我在这里找到了国家ID列表:https://gist.gi

  • 我有一个应用程序使用s2s与谷歌日历API的连接。我需要在不同的用户日历中创建事件。若要使之成为可能,用户应转到日历的设置并将其日历共享到服务帐户。但我想为用户简化这一点 - 这样他们就不需要去他们的日历设置。我没有用于用户交互的界面 - 这是一个机器人。如何以其他方式访问用户的日历?

  • 只用我的日历ID工作得很好. en.thai#holiday@group.v3.calendar.google.com |en.th#holiday@group.v3.calendar.google.com | 请帮忙谢谢你 calenderId:“me”或“primary………..output:”所有事件列表“ 日历Id:en.th#holiday@group.v3.calendar.googl

  • 我想知道我是否需要Google java客户端库才能从GAE访问我的Google日历。默认情况下,它们是Google App Engine SDK的一部分吗? 此外,我找不到一个很好的示例或教程来展示如何从Google Cloud Platform应用程序创建、读取、更新和删除Google日历事件。 非常感谢,如果您可以提供相同的代码示例或链接到适当的工作教程。

  • 问题:有没有一种简单的方法可以自动与谷歌组织中的用户共享日历。 当前技术: 我正在寻求在我们的组织内简化我们的日历。我们正在使用Google业务帐户来处理我们的日历、电子邮件、联系人,并且我们将其全部同步到我们的Mac上。 当前方法:当我们为每个办公地点添加新日历时,(1)我们必须在超级管理员帐户上创建日历,(2)与所有人共享,(3)每个用户必须接受日历,(4)然后我们使用google Sync

  • 假设我被授予访问其他用户日历的权限。我可以在Google calendar web UI的“其他日历”下成功地查看该日历。 该日历可以通过Caldav访问吗?如果是,怎么做? 我的CalDAV客户端开始查看https://apidata.googleusercontent.com/CalDAV/v2,并通过oauth2进行身份验证。它遵循当前用户主体URL,并从那里到日历主页集。在calendar