Google seems to intentionally handicap it’s “subscribe from URL” feature by limiting how often it resyncs. In an ideal world, users could provide an ICalendar (ICS) URL and easily select how often they want to check for updates. Most calendar clients work this way already. Google Calendar is a lone holdout here though—users cannot set their own intervals, and syncs can take days.
As an individual user, this behavior is annoying. But as a calendar app developer, this behavior presents a real challenge. Given the prevalence of Google Calendar, calendar-publishing apps need to account for these delays. To solve the issue in my app, I built OpenCal, an ICS-to-Google-Calendar-API sync service.
It feels like a concession to build a service dedicated to working around an intentional limitation. I suspect Google’s behavior here is an attempt to keep users within their ecosystem. Like the “blue bubble” iMessage effect, it’s a subtle, pervasive reminder that you’re not on the blessed path. I initially tried documenting this behavior in my app and explaining how to work around it manually (i.e. appending arbitrary params to the URL). This proved to be just too much friction though.
OpenCal is a minimal API that gets you a fast user experience without having to integrate to Google Calendar yourself. The free tier is a faster alternative to “subscribe from URL” for personal use, and the Pro License lets apps create subscriptions on the fly—a feature missing from Google Calendar’s V3 API. I originally extracted OpenCal from a user-facing calendar app, and I’ve been using it myself for months without issue. Hopefully it saves you or a developer you know a bit of exasperation, even if it does feel like a concession.