К обсуждениям

Graph возвращает пустой events по iCalUId: пакет проверки без вывода об удалении встреч

Редакция VOne Технологии

Как сравнить 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, публичная ветка использована как обезличенный сигнал, а не подтверждение регрессии.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.