I was having the hardest time trying to share my Exchange / Office365 calendar with a GMail user. No success until I came across this post. Halfway down ashrock says:
Change the “http” in the ics file address to “webcal.” Problem solved. After seeing this, I cannot fathom why Google doesn’t just change the URL for the private iCal address.
Source: Calendar added with “add by url” does not update? – Google Product Forums