【问题标题】:Subscribing to external ical programmatically以编程方式订阅外部 ical
【发布时间】:2016-03-15 00:54:52
【问题描述】:

通过 Google 日历 UI,用户可以将外部 iCAL 日历添加到他们的 CalendarList。

当通过 CalendarList 检索该日历时,不包括日历 URL。此外,似乎无法将外部 iCal 日历添加到用户的 CalendarList。

是这样吗?有没有办法以编程方式为 Google 日历用户订阅外部 iCal 供稿?


日历 UI 在内部使用以下 URL 添加外部日历:

https://calendar.google.com/calendar/addcalendarfromurl

此 URL 通过 POST 或 GET 获取以下参数:

  • curl:日历 url(url 编码)。
  • cimp:UI 将此设置为 true,不确定它的作用。
  • cpub: true|false - 公开日历
  • secid:来自客户端的安全 ID(可能是会话 ID)。不指定这会带来 403 错误。

如果用户未登录日历,他们将被重定向到 Google 登录屏幕。如果我有办法生成 secid(也许是 OAUTH?),我可以添加一个链接以允许用户自动添加日历。

【问题讨论】:

  • 我应该添加这是一个 Intranet 应用程序。我们希望将外部日历自动添加到 Google Apps 中每个用户的 CalendarList 中,以便它们只显示给用户。
  • 您找到解决此问题的方法了吗?最后的解决方案可能是使用这些格式的 URL calendar.google.com/calendar/render?cid={{ICS_FEED_HERE}} 让用户订阅日历。这将打开一个是/否的视觉提示,用户可以使用它来订阅提要。
  • @bjornl 您的链接似乎不再有效。你知道另一个吗?
  • @bjornl 您提供的 URL 正是我从我的应用程序发布日历所需的。非常感谢!

标签: google-api google-calendar-api google-apps icalendar


【解决方案1】:

很遗憾,Google 日历 API 似乎没有任何更新具有导入 .ics 功能。 A ticket 自 2007 年以来已被记录,截至目前仍未有任何解决方案。

我能找到的唯一选择是在用户的 Google 日历网络用户界面中手动导入 .ics 文件。 Import events to Google Calendar 支持页面讨论了这个问题。

第 2 步:将活动导入 Google 日历

导出活动后,您可以将它们导入 Google 日历。

  1. 在计算机上打开 Google 日历。注意:您只能从计算机导入,不能从手机或平板电脑导入。
  2. 点击右上角的设置设置齿轮按钮>设置。
  3. 打开“日历”选项卡。
  4. 点击“我的日历”和“其他日历”部分之间的导入日历。
  5. 单击选择文件并选择您导出的文件。文件应以“ics”或“csv”结尾
  6. 选择要将导入的事件添加到哪个日历。默认情况下,活动将导入您的主日历。
  7. 点击导入

如果您使用的是 ZIP 文件,请在您的计算机上找到并打开它。您会看到每个日历的 ICS 文件。从 ZIP 文件中取出单个文件,然后分别导入每个 ICS 文件。

注意:如果您从 CSV 文件导入重复事件,它们可能不会以这种方式显示,但它们会作为一系列一次性事件出现在您的日历中。

【讨论】:

  • 那张票是用来导入 ICS 文件的,这是关于添加日历提要的。因此,在日历 UI 中,“通过 URL 添加”选项而不是“导入日历”选项。我也为此创建了an issue
猜你喜欢
  • 2020-08-12
  • 1970-01-01
  • 2014-03-19
  • 2018-08-06
  • 2018-03-19
  • 2021-04-17
  • 1970-01-01
  • 2019-10-14
  • 2017-01-27
相关资源
最近更新 更多