Как получить новый идентификатор сообщения после запроса синхронизации / удаления

Когда сообщение будет удалено, мое приложение отправит запрос синхронизации с командой Delete в элементе Commands. Приложение также устанавливает параметр DeletesAsMoves, чтобы сообщение не удалялось окончательно, а вместо этого перемещалось в папку "Удаленные". Это все прекрасно работает. Однако теперь моя задача - переместить сообщение обратно из папки "Удаленные". Это не удается, поскольку после удаления сообщения в команде Sync его идентификатор сообщения изменяется.

В запросе MoveItems новый идентификатор сообщения возвращается в ответе. Есть ли аналогичный способ отслеживания измененного идентификатора сообщения после команды Sync /Delete?

Ниже просьба:

<?xml version="1.0"?>
<Sync>
  <Collections>
    <Collection>
      <Class>Email</Class>
      <SyncKey>{F8654B17-4BF2-439F-9875-22EDDE1138FF}154</SyncKey>
      <CollectionId>03cd385d379ece4988b9c88834382ea7-68cc1f</CollectionId>
      <DeletesAsMoves/>
      <GetChanges/>
      <WindowSize>50</WindowSize>
      <Options>
        <FilterType>2</FilterType>
        <Truncation>7</Truncation>
      </Options>
      <Commands>
        <Delete>
          <ServerId>3:225</ServerId>
        </Delete>
      </Commands>
    </Collection>
  </Collections>
</Sync>

И ответ:

<?xml version="1.0"?>
<Sync>
  <Collections>
    <Collection>
      <Class>Email</Class>
      <SyncKey>{F8654B17-4BF2-439F-9875-22EDDE1138FF}155</SyncKey>
      <CollectionId>03cd385d379ece4988b9c88834382ea7-68cc1f</CollectionId>
      <Status>1</Status>
    </Collection>
  </Collections>
</Sync>

Ответ указывает, что команда удаления была успешной, однако сообщение теперь находится в другой папке с совершенно новым ServerId. Я хотел бы знать, что это за новый ServerId.

0 ответов

Другие вопросы по тегам