Okay, looking at the source code, it looks like Simple Calendar will skip any events which have a visibility of “private”, and all events on public Google Calendars which are set to “See only free/busy” have a visibility of “private”, as you would expect.
That’s actually easy to change, by updating “google-calendar-events/includes/feeds/google.php”, line 188 from:
($visibility == ‘private’ || $visibility == ‘confidential’ || $status == ‘cancelled’)
to:
($visibility == ‘confidential’ || $status == ‘cancelled’)
That appears to work fine, although I’m not sure what side affects there might be, since the (9 year old) comment in that file is “Public calendars may have private events which can’t be properly accessed by simple api key method.”. So the plugin was written to do this on purpose back then, but it appears safe to change it now…
I think I’ll do some more testing, and maybe submit a pull request if I can’t find any problems. If you happen to know some reason why this isn’t going to work well, feel free to answer here. (Oh, my use case is: I want to have a calendar for meeting reservations for a room, but I don’t want the general public to see who has made a reservation, just whether the room is available or not. The calendar owner of course is able to see who has made the reservation.)