Как сравнить mailbox, endpoint, permission context, iCalUId, $select и $filter и собрать request-id без токена или содержимого календаря.
Зафиксируйте одинаковый контекст запросов
Сравнение имеет смысл, только если mailbox, API version, endpoint и permission context одинаковы. Выполните один запрос list events с узким временным или количественным пределом и явным $select для id, iCalUId, type и subject-заглушки, затем создайте копию запроса, изменив только $filter. Не вставляйте access token в журнал и не сохраняйте реальные темы встреч. Если запросы идут от разных приложений или под разными типами разрешений, пустой ответ нельзя связывать только с фильтром. Зафиксируйте URL без идентификаторов, HTTP status, UTC-время и response request-id.
Не смешивайте id, iCalUId и occurrence
Microsoft определяет iCalUId как read-only идентификатор, используемый между календарями, и отмечает, что каждое occurrence имеет своё значение. Обычный id является чувствительным к регистру и по умолчанию может меняться при перемещении элемента. Поэтому сначала определите, что перед вами: single instance, series master или occurrence. List events возвращает одиночные события и masters, а развёрнутые экземпляры серии получают через calendarView. Значение, взятое с occurrence, не обязано находить series master. Не заменяйте одно свойство другим только потому, что оба выглядят как строковые идентификаторы.
Проверьте кодирование и один контрольный фильтр
Скопируйте iCalUId непосредственно из ответа того же контекста, не набирайте его вручную и не публикуйте значение. Сформируйте фильтр по официальным правилам OData и проверьте URL-encoding. В качестве контроля используйте другое документированное условие на нейтральном тестовом событии, чтобы разделить общий сбой фильтрации и поведение одного свойства. Не создавайте десятки реальных встреч и не расширяйте permissions. Если одинаковый элемент виден без фильтра, но исчезает только при точном значении, это воспроизводимый симптом; он всё ещё не доказывает удаление или серверный регресс.
Соберите минимальный пакет эскалации
Передайте владельцу API два очищенных запроса, API version, тип разрешения, endpoint, $select, форму $filter, HTTP status, UTC-время и request-id каждого ответа. Значения mailbox, event id, iCalUId, subject, attendees и access token замените стабильными метками. Укажите type события и результат calendarView. Остановите эксперименты, если для воспроизведения требуется расширить доступ приложения или использовать чужой календарь. Полезная формулировка не утверждает причину: «в одном контексте элемент присутствует в list response, но точный фильтр возвращает пустой value».
Материал подготовлен редакцией VOne с применением ИИ для структурирования; свойства и endpoints вручную сверены с Microsoft Graph, публичная ветка использована как обезличенный сигнал, а не подтверждение регрессии.
Источники и проверка
- Microsoft Graph — Event resource проверено 2026-08-03
- Microsoft Graph — List events проверено 2026-08-03
- Microsoft Graph — Query parameters проверено 2026-08-03
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.