Google breaks all Google calendars for the public (Update: Fixed!)

As you may have noticed if you have Google Calendar anywhere on a public website, recently these went down – and are still down, for the general public. View a page with a Google calendar embed while logged out of Google (or try any other browser that is not logged in), and you will get a blank page. This has been reported with dozens of “me too” upvotes.

The source of the issue can be seen in the console – one type of script url will load:

<script type="text/javascript" src="/calendar/_/scs/calendar-static/_/js/k=calendar.embed.en.EZZBNdCVqs....

while this one with en_US_PSEUDO, when not logged in, will never load:

<script type="text/javascript" src="/calendar/_/scs/calendar-static/_/js/k=calendar.embed.en_US_PSEUDO.u6ADilWa...

While this could be – would be incredibly bad if this is on purpose, this really shows an example of the importance of trying all the things to test while developing software – most likely they tested through all the cases folks were likely to use, testing various types of accounts, different accounts, private and public calendars with accounts… but not when someone was not logged in to Google at all!

One other thing to consider as a developer is the containers addon. This makes it super easy to quickly open the same page in several different account types (or view the page as non logged in users). Each color coded tab is like a separated browser.

Update: As of 2/12 the issue seems to be fixed!

This also underscores the fact you can’t entirely trust a third party, even a “large”, “reliable” one such as Google – access can be limited, go down temporarily (even Amazon!) or even put behind a paywall with increased prices like Google’s maps did earlier. While online applications like calendar or maps require no “updates”, if it isn’t hosted on your server or machine you also cannot choose when to update or not update to a new version.

Leave a Reply

Your email address will not be published. Required fields are marked *

12 + = eighteen