Caldav library should contain methods for looking up calendars owned by another principal, as well as methods for looking up all calendars on the server that one has read access to.
Although section 8.4 in the RFC only gives an example on how to look up calendars owned by a named principal, it may give hints on how to get a full list. It must be possible, as some caldav clients comes up with such a list.
https://tools.ietf.org/html/rfc4791#section-8.4