Google Calendar supports CalDAV, but only behind OAuth, which many clients do not support. I've created https://github.com/bjesus/oauth-hopper to solve that - it takes care of the OAuth steps and provides a clean CalDAV endpoint that you can use to read and write to your calendar from almost any calendar application. In reality OAuth Hopper can be used to abstract OAuth away from any endpoint - it isn't CalDAV specific in anyway.