I recently wanted to make a page that showed data from various Google calendars but it really bothered me that I had to make the calendars public to everyone to use the snippet. Rather than settle for this compromise, I decided to make a small hack to the snippet to improve it for my need for privacy. Fortunately, the hack is really simple. Rather than specify an email address for a calendar such as
[email protected], I removed the "/public" substring from the snippet. With the modified snippet, I then would have to pass
[email protected]/public to the email parameter like this:
[!GoogleEvents?outputType=`list`&email=`
[email protected]/public`!]
The benefit here is when I want to use a private calendar instead. To use the modified snippet in this case, just go to the settings in Google Calendar for the private calendar of interest, click on the XML for private address. You should see something like this:
http://www.google.com/calendar/feeds/myemail%40gmail.com/private-66744e7ecbb6e889a6329bd7570dc5c3/basic
or
http://www.google.com/calendar/feeds/crhsmq346dsu27nu04rse3446rc%40group.calendar.google.com/private-2d13223beb9dc23498758962471de1a/basic
Copy out the substring between and not including "feeds/" and "/basic". Use that for your email parameter in GoogleEvents. Now you can share your calendar data on your site without sharing it with the whole world. The modified snippet is attached.