Our family is pretty busy. With two working adults and five kids it takes some serious planning. To keep track of where everyone is and where they need to be. Like many families, we use shared calendars to do this. But we also have work calendars through Google Apps, as well as using iCloud for personal stuff. And, when I tried to share my Google Apps work calendar with my wife, I discovered that it's not as easy as it sounds and Google's help for making this work is terrible. Eventually, I solved the problem. Here's how I made it work.
#1 Share Your Google Calendar
This was the easy bit. I went to calendar.google.com, clicked on the options menu adjacent to the calendar I wanted to share and chose the Settings and sharing option.
Under the Share with specific people section, I added my wife's email address. She received an email with a link to the shared calendar that she could view from a web browser. However, the goal was for my calendar to appear in the iOS Calendar app so she had a single view of everything. So, while the link worked, it didn't fulfil the actual requirement.
#2 Enable Sync To iOS Apps
What isn't made clear in Google's instructions is that there is another step in the process of making a shared calendar available in Apple's calendar apps. You need to visit calendar.google.com/calendar/syncselect.
This step is critical and I could only find it in Google's support forums - if it's in the normal set up instructions I could find it after almost an hour of searching.
By the way, Google's default answer on support forums for solving issues with shared calendars is to use their app. The support folks in their online forums were pretty unhelpful and there were many threads about this problem that remained unresolved.
If you're lucky, you can click the checkbox to enable syncing and the process ends.
I wasn't lucky.
#3 The "Not available for syncing" Sinking Feeling
When I went to the sync select options, the calendar I'd shared with my wife was tagged as "Not available for syncing". Having followed Google's instructions I was a tad annoyed but I figured I'd start over and repeat the process just in case I'd messed something up. But I had the same result. This felt a lot like a permissions issue so I looked into what was going on.
The default setting when sharing a calendar is to only show free/busy periods and hide specific event information. In my case, it meant my wife would know I was busy but not where I was. I spend a lot of time travelling so it can be handy to know what city I'll be in or whether I'm working away from home or doing a phone meeting in the home office.
I scratched my head for a while and decided to look at the security settings in my Google admin console.
#4 Permission To Share
The calendar I wanted to share is part of a G Suite account that I'm the admin of. So, I went to admin console for a look. Under the Settings for Calendar section, there are some options in the General Settings section.
I changed one option. I altered the External sharing options for secondary calendars permissions from hiding event details to sharing all information but making the information read only.
I also changed the sharing settings for the calendar from the Calendar so my wife could see event details. This option wasn't available before I altered the G Suite admin settings.
After that, we refreshed the Sync Select page and voila! The calendar was now available for syncing and appeared in my wife's calendar app.
Why Was This So Hard?
Google's instructions for doing this were terrible. I understand that G Suite accounts are primarily for business users but their instructions omitted a use-case that I suspect many people would need - the ability to share a calendar to someone else without making it completely public.
The default sharing option, that can be found under Settings and sharing, lets you make the calendar public and provides a number of URLs for publishing. I didn't want to expose my calendar in that way. I wanted one person to be able to see what I'm doing. Google could resolve a bunch of open support messages on their forums by simply telling users that if the calendar they want to share is part of a G Suite account, that they need to contact the administrator to change the settings.