Google Docs has three types of document sharing. Public to anyone with the link and viewable in search results; only viewable to those you invite to it; and the compromise: viewable only to anyone with the link but not available in search.

Does this compromise also exist for Google Calendar?

I don't seem to find it. I can add people to a calendar so they can see it. I can make it public (This calendar will appear in public Google search results.) and give people the link to it. But I cannot share the link without making it searchable. (I get You do not have access to [calendar name]'s calendar when adding the link.)

There is a private iCal and XML link for the calendar, but those are not addable to another Google Calendar account, the calendar ID ([email protected]) is needed for that. Any of the following would fix this issue:

  • Is there a way to get a private calendar ID?
  • Or to give people with the ID access to the calendar without making it publicly available in search?
  • Or to add a calendar to Google Calendar using the iCal or XML link?

4 Answers 4


The private link can be used to share the calendar with non-Google Calendar users (e.g. Outlook or Yahoo Mail). It appears that Google does extra checking and doesn't allow a private link to be added if you weren't granted access (with Share with specific people setting).

If you mirror the file to a new URL or simply use an URL shortener (like goo.gl) you can import it into Google Calendar with no problem, bypassing the checks.

Other than that you have correctly outlined the options available. The Calendar ID is the same for the private and public links.

  • 1
    This is so weird, but it looks like it's correct. You can open the link in outlook but not google, who would rationally make that decision at google? Did you actually try the mirroring, and can you expand a bit on how to achieve this?
    – Gauthier
    Commented Mar 26, 2014 at 15:46
  • 1
    The "Private Address" field in the calendar settings says "This is the private address for this calendar. Do not share this address with other users unless you want them to see all the events on this calendar." It really sounds like it is meant to work that way when sharing this link... but it's not if the client also uses google calendar.
    – Gauthier
    Commented Mar 26, 2014 at 15:59

You can add calendars via an iCal link. Click the dropdown beside Other calendars, then Add by URL.

So the full process would be:

  • Sender goes to the Calendar settings of the calendar he wants to share, copies the iCal link in the Private Address section and sends it to the receiver by email/IM/facebook...

  • Receiver pastes the address into Other calendars > Add by URL.

If at some point the sender wants to revoke the receiver's access to his calendar, then there's a Reset Private URLs link in Calendar settings which invalidates the existing URL and creates a new one.

  • 1
    How can one obtain an iCal link? Where is the dropdown? Perhaps you need to add a bit more info to meet up with the standard.
    – Jacob Jan
    Commented Mar 7, 2013 at 10:17
  • Is this supposed to work even without "making this calendar public"?
    – Gauthier
    Commented Mar 26, 2014 at 15:07
  • @Gauthier doesn't it?
    – MikeFHay
    Commented Mar 26, 2014 at 19:09
  • 1
    It didn't until I made it public, not for google calendar users. It worked for Outlook users though. See there: productforums.google.com/forum/#!msg/calendar/e6uLPsOgOKg/… , it's all very confusing.
    – Gauthier
    Commented Mar 27, 2014 at 12:47

There is no option to make it as an "unlisted" calendar as you could call it. However you can make it public, but limited. There is no option as of now to make a calendar unlisted though.

enter image description here


You can embed the calendar on your website and pass out the link to the embedded calendar

From Add a Google calendar to your website (support.google.com):

  1. On a computer, open Google Calendar. You can only get the code to embed in your website from a computer, not the mobile app.
  2. In the top right, click Settings gear button > Settings.
  3. Open the Calendars tab.
  4. Click the name of the calendar you want to embed.
  5. In the Embed This Calendar section, copy the iframe code displayed.
  6. Open your website editor, then paste this code where you want the calendar to display.

Your embedded calendar will only be visible to people you've shared it with. To allow all visitors to see your calendar, you'll need to make it public.

  • Always add essential part of the link into answer for future readers.
    – serenesat
    Commented Jun 6, 2016 at 5:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.