Восстановление удаленных экземпляров повторяющихся событий в Outlook

В настоящее время я разрабатываю приложение, которое синхронизируется с календарем Outlook.

Я могу выполнить аутентификацию, восстановить календари и события, но у меня возникают проблемы с повторяющимися событиями. Ответы Outlook примерно такие:

{
    ...
    "Recurrence": {
        "Pattern": {
          "Type": "Daily",
          "Interval": 1,
          "Month": 0,
          "DayOfMonth": 0,
          "FirstDayOfWeek": "Sunday",
          "Index": "First"
        },
        "Range": {
          "Type": "NoEnd",
          "StartDate": "2016-07-11",
          "EndDate": "0001-01-01",
          "RecurrenceTimeZone": "Romance Standard Time",
          "NumberOfOccurrences": 0
        }
    },
    ...
}

Все нормально. Это не совсем соответствует спецификации RFC 5545, но ее можно легко преобразовать. Проблема в том, что я не могу определить, были ли удалены некоторые повторяющиеся экземпляры.

RFC 5545 указывает, что удаленные даты должны отображаться в поле EXDATE. Есть ли что-то подобное в Outlook? Есть ли способ сделать это (кроме восстановления всех экземпляров)?


В качестве небольшого примера, чего я хочу добиться, это:

  1. Создайте ежедневное событие с сайта Outlook
  2. Удалите пару экземпляров этого повторяющегося события с сайта Outlook (скажем так, я удаляю сегодняшние и завтрашние экземпляры)
  3. Восстановить главное событие и каким-то образом узнать, что сегодняшние и завтрашние экземпляры были удалены

person Pelocho    schedule 19.07.2016    source источник


Ответы (1)


В настоящее время Microsoft Graph не поддерживает получение одного экземпляра повторяющейся встречи, которая была удалена.

В качестве обходного пути мы можем получить шаблоны повторяющихся встреч и всех событий в течение определенного периода времени. Затем мы можем рассчитать встречи, которые уже были удалены.

И если вам нужна эта функция, вы можете отправить отзыв с здесь

person Fei Xue - MSFT    schedule 20.07.2016
comment
Ничего себе, такой базовый функционал и он не реализован? Единственный обходной путь — получить события во временных окнах и перекрестных датах, чтобы проверить, не были ли удалены некоторые из них. Такая пустая трата ресурсов! Чем больше я использую API Outlook, тем больше я его ненавижу - person Pelocho; 20.07.2016