0

メッセージが削除されると、アプリケーションは、Commands要素内のDeleteコマンドを使用して同期要求を送信します。また、アプリケーションはDeletesAsMovesオプションを設定して、メッセージが完全に削除されるのではなく、DeletedItemsフォルダーに移動されるようにします。これはすべてうまくいきます。ただし、私の課題は、メッセージを削除済みアイテムフォルダから戻すことです。Syncコマンドでメッセージが削除されると、メッセージIDが変更されるため、これは失敗します。

MoveItemsリクエストでは、新しいメッセージIDがレスポンスに返されます。Sync / Deleteコマンドの後に変更されたメッセージIDを追跡するための同様の方法はありますか?

以下はリクエストです:

<?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が何であるかを知りたいです。

4

0 に答える 0