Я проверил разрешения, и они были установлены правильно, это работает для других пользователей. После небольшого расследования я выяснил причину этой проблемы.
У этого пользователя было несколько повторяющихся событий в календаре. Когда я вызывал все события в следующие 100 лет, количество событий было слишком большим, и я получил ошибку 500. Когда меня спросили за 1 год, API вернул все данные, которые я запрашивал.
Я предполагаю, что это каким-то образом связано с базовым API и обработкой событий MS Graph перед возвратом данных.
Проблема исправлена