How We Stopped Fighting Enterprise Auth and Read Calendars With a URL
Reading Microsoft 365 calendars from scripts in locked-down enterprise environments — without Graph API, without OAuth, without any authentication at all. The Problem We're building an on-call sche...

Source: DEV Community
Reading Microsoft 365 calendars from scripts in locked-down enterprise environments — without Graph API, without OAuth, without any authentication at all. The Problem We're building an on-call scheduling tool for our platform engineering team. One of its core features: automatically check who's out of office before assigning someone to the on-call rota. Sounds simple — read a calendar, find OOO events, done. Except we work inside a large enterprise with a locked-down Microsoft 365 tenant. And reading a calendar programmatically turned out to be the hardest part of the entire project. What we needed: Read OOO/leave events from team members' Outlook calendars Run it from a script on any engineer's laptop (Mac or Windows) No manual token copying, no browser interactions, no IT tickets Just: run a command, get OOO data What we assumed: Microsoft Graph API. It's the modern, documented, supported way to read calendars. Every tutorial says "just call /me/calendar/getSchedule". We even identif