lfos / calcurse

A text-based calendar and scheduling application
https://calcurse.org
BSD 2-Clause "Simplified" License
990 stars 94 forks source link

'calcurse-caldav' doesn't support all URLs hosted by calendar.google.com. #475

Open TonyBarganski opened 1 year ago

TonyBarganski commented 1 year ago

Bug Description

'calcurse-caldav' doesn't support all URLs hosted by calendar.google.com.

Background:

I’m using ‘calcurse-caldav’ so that I can view my Calendar Schedules from the Command Line (macOS), which is part of my workflow and some terminal todo.txt apps I’ve written.

The 'calcurse-caldav' errors when the \<CalendarID> has a prefix of 'group.' vs 'import.' (hardcoded maybe?). It gives me a 404 error.

When I subscribe to a calendar using the Google Calendar web app and choose “From URL”, Google puts it under “Other calendars” and it gets a \<CalendarID> of \<ID>.import.calendar.google.com. This works with 'calcurse-caldav'.

When I use Google's Calendar API objects in an Apps script, the subscribed calendar gets registered under the "My calendars" heading and given a \<CalendarID> prefixed by 'group.' (see examples below).

Example CalendarID URLs

Google "Other calendars" (Subscribed through webapp): /caldav/v2/e1jb65cfvjhh94efv69vd03tj5unhli0@import.calendar.google.com/events/

Google "My calendars" (Subscribed through Google Calendar API): /caldav/v2/7cnlmnds2t57oqvr1g57iahaip@group.calendar.google.com/events/

Apps Script Details

I'm using the Google Apps script GAS-ICS-Sync to get around Google's 12-24hr update schedule for subscribed calendars. This script uses Google's Calendar API to manually sync from an ICS subscription URL using my own defined update schedule.

Describe the solution you'd like

I'd like calcurse-caldav to support all domain URLs to ICS calendars that Google hosts, namely:

barrett-ruth commented 2 months ago

This would be amazing - I currently can't see calendar events from a particular organization (in Google Calendar, I see Calendar ID is <id>@group.calendar.google.com), effectively rendering calcurse-caldev useless.

Would addressing this problem fix this problem @TonyBarganski - just want to make sure I'm understanding this problem correctly