メッセージが削除されると、アプリケーションは、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が何であるかを知りたいです。