Utilisations d’éléments de boîte aux lettres Exchange à l’aide d’EWS dans ExchangeWork with Exchange mailbox items by using EWS in Exchange

Découvrez comment créer, obtenir, mettre à jour et supprimer des éléments à l’aide de l’API managée EWS ou d’EWS dans Exchange.Learn how to create, get, update, and delete items by using the EWS Managed API or EWS in Exchange.

Vous pouvez utiliser l’API managée EWS ou EWS pour utiliser des éléments dans une boîte aux lettres.You can use the EWS Managed API or EWS to work with items in a mailbox. Vous pouvez utiliser des éléments génériques: deséléments de l’API managée EWS ou desélémentsde types EWS pour effectuer certaines opérations (telles que l’obtention ou la suppression d’un élément à l’aide de l’identificateur de ce dernier). Toutefois, la plupart du temps, vous devez utiliser un élément fortement identifié pour effectuer une opération d’obtention ou de mise à jour, car vous devrez accéder aux propriétés propres à l’élément fortement identifié.You can use generic items — EWS Managed API Item objects or EWS Item types — to perform some operations (getting an item or deleting an item by using the item's identifier); however, most of the time you'll have to use a strongly typed item to perform a get or update operation because you'll need access to the properties that are specific to the strongly typed item.

Par exemple, vous ne pouvez pas utiliser un élément générique pour récupérer un élément qui contient une date de début et de fin. Pour ce faire, vous avez besoin d’un objet de Rendez-vousou d’unCalendarItem de type EWS.For example, you can't use a generic item to retrieve an item that contains a start and end date - you need an EWS Managed API Appointment object or an EWS CalendarItem type to do that. Si vous utilisez l’API managée EWS, vous devez toujours créer des éléments fortement identifiés, car la classegénérique ne possède pas de constructeur.And if you're using the EWS Managed API, you always have to create strongly typed items, because the generic Item class does not have a constructor. Si vous utilisez un élément qui n’est pas fortement identifié, vous pouvez vous servir de la classede base afin d’utiliser cet élément.If you're working with an item that is not strongly typed, you can always use the base Item class to work with the item.

Tableau 1. Méthodes d’API managée EWS et opérations EWS pour l’utilisation d’élémentsTable 1. EWS Managed API methods and EWS operations for working with items

Afin de...In order to… Méthode d'API managée EWSEWS Managed API method Opération EWSEWS operation
Créer un élément génériqueCreate a generic item
Aucune. Vous pouvez uniquement créer des types d’élément spécifiques à l’aide de l’API managée EWS. Vous ne pouvez pas créer d’éléments génériques.None. You can only create specific item types by using the EWS Managed API; you cannot create generic items.
CreateItemCreateItem
Obtenir un élémentGet an item
Item.BindItem.Bind
GetItemGetItem
Mettre à jour un élémentUpdate an item
Item.UpdateItem.Update
UpdateItemUpdateItem
Supprimer un élémentDelete an item
Item.DeleteItem.Delete
DeleteItemDeleteItem

Dans cet article, vous découvrirez également à quel moment vous pouvez utiliser la classe de base générique et à quel moment vous devez utiliser un élément fortement identifié pour mener à bien votre tâche.In this article, you'll learn when you can use the generic base class and when you need to use a strongly typed item to complete your task. Les exemples de code vous indiqueront comment utiliser la classe de base, ainsi que la marche à suivre lorsque vous ne pouvez pas utiliser cette dernière ou lorsqu’elle ne répond pas à vos besoins.The code examples will show you how to use the base class, and what to do when you can't use the base class or it doesn't fit your needs.

Création d’un élément à l’aide de l’API managée EWSCreate an item by using the EWS Managed API

L’API managée EWS ne possède pas de constructeur publiquement disponible pour la classed’élément. Par conséquent, afin de créer un élément, vous devez utiliser le constructeur approprié au type d’élément spécifique que vous souhaitez créer.The EWS Managed API does not have a publicly available constructor for the Item class, so you must use the constructor for the specific item type you want to create in order to create an item. Par exemple, utilisez leconstructeur de classe EmailMessage pour créer un nouveau message électronique et le constructeur de classe Contact pour créer un contact.For example, use the EmailMessage class constructor to create a new email message, and the Contact class constructor to create a new contact. De même, le serveur ne renvoie jamais** d’objets**génériques dans les réponses. Tous les éléments génériques sont renvoyés sous forme d’objets EmailMessage.Likewise, the server never returns generic Item objects in responses; all generic items are returned as EmailMessage objects.

Lorsque vous connaissez le type d’élément à créer, vous pouvez effectuer la tâche en quelques étapes seulement. Les étapes sont similaires pour tous les types d’éléments :When you know the type of item to create, you can complete the task in just a few steps. The steps are similar for all item types:

  1. Initialiser une nouvelle instance de l’une des classesd’élémentavec l’objetExchangeServiceen tant que paramètre.Initialize a new instance of one of the Item classes with the ExchangeService object as a parameter.

  2. Les schémas sont différents pour chaque type d’élément, c’est pourquoi plusieurs propriétés sont disponibles pour ces derniers.Set properties on the item. The schemas are different for each item type, so different properties are available for different items.

  3. Enregistrez l’élément, ou enregistrez et envoyez l’élément.Save the item, or save and send the item.

Par exemple, vous pouvez créer un objetEmailMessage, définissez l’objet, corps, et les propriétésToRecipients, puis envoyez-le à l’aide de la méthodeEmailMessage.SendAndSaveCopy.For example, you can create an EmailMessage object, set the Subject, Body, and ToRecipients properties, and then send it by using the EmailMessage.SendAndSaveCopy method.

// Create an email message and provide it with connection 
// configuration information by using an ExchangeService object named service.
EmailMessage message = new EmailMessage(service);
// Set properties on the email message.
message.Subject = "Company Soccer Team";
message.Body = "Are you interested in joining?";
message.ToRecipients.Add("sadie@contoso.com");
// Send the email message and save a copy.
// This method call results in a CreateItem call to EWS.
message.SendAndSaveCopy();

Pour découvrir comment créer un élément de réunion ou de rendez-vous à l’aide de l’API managée EWS, voir Créer des rendez-vous et des réunions à l’aide d’EWS dans Exchange 2013.To learn how to create a meeting or appointment item by using the EWS Managed API, see Create appointments and meetings by using EWS in Exchange 2013.

Création d’un élément à l’aide d’EWSCreate an item by using EWS

Vous pouvez créer un élément générique ou un élément fortement identifié à l’aide d’EWS. Les étapes sont identiques pour tous les types d’éléments:You can create a generic item or a strongly typed item by using EWS. The steps are similar for all item types:

  1. Utilisez l’opération CreateItem pour créer un élément dans la banque d’informations Exchange.Use the CreateItem operation to create an item in the Exchange store.

  2. Utilisez l’élément Items qui contiendra au moins un élément à créer.Use the Items element to contain one or more items to create.

  3. Définissez des propriétés sur l’élément.Set properties on the item.

Par exemple, vous pouvez créer un message électronique et l’envoyer à l’aide du code de l’exemple suivant.For example, you can create an email message and send it by using the code in the following example. Il s’agit également de la demande XML que l’API Managée EWS envoie lorsque vous appelez la méthodeSendAndSaveCopy.This is also the XML request that the EWS Managed API sends when you call the SendAndSaveCopy method.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
               xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2007_SP1" />
  </soap:Header>
  <soap:Body>
    <m:CreateItem MessageDisposition="SendAndSaveCopy">
      <m:SavedItemFolderId>
        <t:DistinguishedFolderId Id="sentitems" />
      </m:SavedItemFolderId>
      <m:Items>
        <t:Message>
          <t:Subject>Company Soccer Team</t:Subject>
          <t:Body BodyType="HTML">Are you interested in joining?</t:Body>
          <t:ToRecipients>
            <t:Mailbox>
              <t:EmailAddress>sadie@contoso.com </t:EmailAddress>
              </t:Mailbox>
          </t:ToRecipients>
        </t:Message>
      </m:Items>
    </m:CreateItem>
  </soap:Body>
</soap:Envelope>

Le serveur répond à la demandeCreateItem par un message GetItemResponse, qui inclut ResponseCode renvoyant la valeur NoError, indiquant que le message a bien été créé, et où apparaît l’élément ItemId du nouveau message.The server responds to the CreateItem request with a CreateItemResponse message that includes a ResponseCode value of NoError, which indicates that the email was created successfully, and the ItemId of the newly created message.

Pour découvrir comment créer un élément de réunion ou de rendez-vous à l’aide d’EWS, voir Créer des rendez-vous et des réunions à l’aide d’EWS dans Exchange 2013.To learn how to create a meeting or appointment item by using EWS, see Create appointments and meetings by using EWS in Exchange 2013.

Obtention d’un élément à l’aide de l’API managée EWSGet an item by using the EWS Managed API

Pour utiliser l’API Managée EWS afin de récupérer un élément dont vous connaissez l’Item.Id, il vous suffit d’appeler simplement une des méthodesBindsur l’élément et l’élément est récupéré.To use the EWS Managed API to get an item if you know the Item.Id of the item to retrieve, you simply call one of the Bind methods on the item, and the item is retrieved. Pour une expérience optimale, nous vous recommandons de limiter les propriétés renvoyées à celles qui sont requises.As a best practice, we recommend that you limit the properties returned to only those that are required. Cet exemple renvoie la propriété Idde l’élément et la propriété** de l’objet**.This example returns the item Id property and the Subject property.

Cet exemple suppose que le service est un objetExchangeService valide et que l’utilisateur a bien été authentifié pour un serveur Exchange.This example assumes that service is a valid ExchangeService object and that the user has been authenticated to an Exchange server. La variable localeitemId est l’[Id de l’élément à mettre à jour.The local variable itemId is the Id of the item to update.

// As a best practice, limit the properties returned to only those that are required.
PropertySet propSet = new PropertySet(BasePropertySet.IdOnly, ItemSchema.Subject);
// Bind to the existing item by using the ItemId.
// This method call results in a GetItem call to EWS.
Item item = Item.Bind(service, itemId, propSet);

Si vous recherchez un élément qui répond à des critères spécifiques, procédez comme suit :If you're searching for an item that meets specific criteria, do the following:

  1. Établissez une liaison vers le dossier qui contient les éléments à obtenir.Bind to the folder that contains the items to get.

  2. Instanciez unSearchFilter.SearchFilterCollection ou un PropertySet pour filtrer les éléments à retenir.Instantiate a SearchFilter.SearchFilterCollection or a PropertySet to filter the items to return.

  3. Instanciez un objetItemView ou CalendarViewafin de spécifier le nombre d’éléments à retenir.Instantiate an ItemView or CalendarView object to specify the number of items to return.

  4. Appelez la méthodeExchangeService.FindItems ou ExchangeService.FindAppointments.Call the ExchangeService.FindItems or ExchangeService.FindAppointments method.

Par exemple, si vous souhaitez récupérer des messages électroniques non lus dans la boîte de réception, vous pouvez utiliser le code de l’exemple suivant.For example, if you want to retrieve unread email messages in the Inbox, use the code in the following example. Cet exemple utilise un élément SearchFilterCollectionpour limiter les résultats de la méthodeFindItems aux messages non lus et limite l’élémentItemView afin de réduire les résultats à un seul élément.This example uses a SearchFilterCollection to limit the results of the FindItems method to unread messages, and limits the ItemView to limit results to one item. Ce code particulier fonctionne uniquement sur les objetsEmailMessage, car la valeur EmailMessageSchema.IsRead fait partie de la SearchFilter.This particular code only works on EmailMessage objects because the EmailMessageSchema.IsRead value is part of the SearchFilter.

// Bind the Inbox folder to the service object.
Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox);
// The search filter to get unread email.
SearchFilter sf = new SearchFilter.SearchFilterCollection(LogicalOperator.And, new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false));
ItemView view = new ItemView(1);
// Fire the query for the unread items.
// This method call results in a FindItem call to EWS.
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, sf, view);

Parallèlement, vous pouvez également utiliser unPropertySet pour limiter les résultats de la recherche, comme illustré dans l’exemple de code suivant.Alternatively, you can use a PropertySet to limit the results of the search as shown in the following code example. Cet exemple utilise la méthodeFindAppointmentsafin de récupérer un maximum de cinq rendez-vous qui se produisent dans les 30 jours suivants.This example uses the FindAppointments method to retrieve up to five appointments that occur in the next 30 days. Bien sûr, ce code fonctionne uniquement pour les éléments du calendrier.This code of course only works on calendar items.

// Initialize values for the start and end times, and the number of appointments to retrieve.
DateTime startDate = DateTime.Now;
DateTime endDate = startDate.AddDays(30);
const int NUM_APPTS = 5;
// Bind the Calendar folder to the service object.
// This method call results in a GetFolder call to EWS.
CalendarFolder calendar = CalendarFolder.Bind(service, WellKnownFolderName.Calendar, new PropertySet());
// Set the start and end time and number of appointments to retrieve.
CalendarView cView = new CalendarView(startDate, endDate, NUM_APPTS);
// Limit the properties returned to the appointment's subject, start time, and end time.
cView.PropertySet = new PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End);
// Retrieve a collection of appointments by using the calendar view.
// This method call results in a FindAppointments call to EWS.
FindItemsResults<Appointment> appointments = calendar.FindAppointments(cView);

Notez que les informations que le serveur renvoie dans la réponse de la méthode Bind sont différentes des informations que le serveur renvoie pour une réponse de la méthodeFindItem ouFindAppointment.Note that the information the server returns in the Bind method response is different than the information that the server returns for a FindItem or FindAppointment method response. La méthodeBind peut renvoyer toutes les propriétés schématisées, alors que les méthodesFindItemetFindAppointmentne les renvoient pas.The Bind method can return all the schematized properties, whereas the FindItem and FindAppointment methods do not return all the schematized properties. Par conséquent, si vous avez besoin d’un accès complet à l’élément, vous devez utiliser la méthodeBind.So if you need full access to the item, you'll have to use the Bind method. Si vous ne disposez pas de l’élément Idde l’élément que vous souhaitez récupérer, utilisez les méthodesFindItem ou FindAppointmentpour récupérer l’identité, puis utilisez la méthode **Bind **pour récupérer les propriétés dont vous avez besoin.If you don't have the item Id of the item you'd like to retrieve, use the FindItem or FindAppointment methods to retrieve the Id, and then use the Bind method to retrieve the properties you need.

Pour découvrir comment obtenir un élément de réunion ou de rendez-vous à l’aide de l’API managée EWS, voirObtenir des rendez-vous et des réunions à l’aide d’EWS dans Exchange.To learn how to get a meeting or appointment item by using the EWS Managed API, see Get appointments and meetings by using EWS in Exchange.

Obtention d’un élément à l’aide d’EWSGet an item by using EWS

Si vous connaissez l’ItemId de l’élément à récupérer, vous pouvez obtenir ce dernier à l’aide de l’opération GetItem.If you know the ItemId of the item to retrieve, you can get the item by using the GetItem operation.

L’exemple suivant présente la requête XML permettant d’obtenir l’objet d’un élément comportant un ItemId spécifique.The following example shows the XML request to get the Subject of an item with a specific ItemId. Il s’agit également de la requête XML que l’API Managée EWS envoie lorsque vous appelez la méthodeBind sur unItemId.This is also the XML request that the EWS Managed API sends when calling the Bind method on an ItemId. Les valeurs de certains attributs et éléments ont été raccourcies pour des raisons de lisibilité.The values of some attributes and elements have been shortened for readability.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
               xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2013" />
  </soap:Header>
  <soap:Body>
    <m:GetItem>
      <m:ItemShape>
        <t:BaseShape>IdOnly</t:BaseShape>
        <t:AdditionalProperties>
          <t:FieldURI FieldURI="item:Subject" />
        </t:AdditionalProperties>
      </m:ItemShape>
      <m:ItemIds>
        <t:ItemId Id="GJc/NAAA=" />
      </m:ItemIds>
    </m:GetItem>
  </soap:Body>
</soap:Envelope>

L’exemple suivant présente la réponse XML que le serveur renvoie après avoir effectué l’opération GetItem. La réponse indique que l’élément a été récupéré. Les valeurs de certains attributs et éléments ont été raccourcies pour des raisons de lisibilité.The following example shows the XML response that the server returns after it processes the GetItem operation. The response indicates the item was retrieved successfully. The values of some attributes and elements have been shortened for readability.

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="https://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <h:ServerVersionInfo MajorVersion="15" 
                         MinorVersion="0" 
                         MajorBuildNumber="815" 
                         MinorBuildNumber="6" 
                         Version="V2_7" 
                         xmlns:h="https://schemas.microsoft.com/exchange/services/2006/types" 
                         xmlns="https://schemas.microsoft.com/exchange/services/2006/types" 
                         xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
  </s:Header>
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <m:GetItemResponse xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
                       xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
      <m:ResponseMessages>
        <m:GetItemResponseMessage ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:Items>
            <t:Message>
              <t:ItemId Id="GJc/NAAA=" ChangeKey="CQAAABYAAAAPxolXAHv3TaHUnjW8wWqXAAAGJd9Z"/>
              <t:Subject>Company Soccer Team</t:Subject>
            </t:Message>
          </m:Items>
        </m:GetItemResponseMessage>
      </m:ResponseMessages>
    </m:GetItemResponse>
  </s:Body>
</s:Envelope>

Si vous ne connaissez pas l’élément ItemId de l’élément que vous souhaitez récupérer, vous pouvez utiliser l’opérationFindItem à cette fin.If you do not know the ItemId of the item you want to retrieve, you can use the FindItem operation to find the item. Pour pouvoir utiliser l’opérationFindItem, vous devez d’abord identifier le dossier que vous recherchez.In order to use the FindItem operation, you must first identify the folder that you're searching. Vous pouvez identifier le dossier à l’aide de son DistinguinguishedFolderName ou à l’aide de l’élément FolderId.You can identify the folder by using its DistinguinguishedFolderName or by using the FolderId. Vous pouvez utiliser soit l’opération FindFolder soit l’opérationSyncFolderHierarchy pour obtenir l’élément FolderId dont vous avez besoin.You can use either the FindFolder or SyncFolderHierarchy operations to get the FolderId you need. Ensuite, utilisez l’opérationFindItem pour rechercher ce dossier et pour obtenir des résultats qui correspondent au filtre de recherche.Then use the FindItem operation to search that folder for results that match the search filter. Contrairement à l’API managée EWS, EWS n’offre pas d’opération de recherche distincte pour les rendez-vous.Unlike the EWS Managed API, EWS does not provide a separate find operation for appointments. L’opération** FindItem**récupère des éléments de tous types.The FindItem operation retrieves items of all types.

L’exemple suivant présente la demande d’opération FindItem XML qui est envoyée au serveur pour rechercher des rendez-vous prévus dans les 30 jours, dans le dossier de calendrier. Les valeurs de certains attributs et éléments ont été raccourcies pour des raisons de lisibilité.The following example shows the XML FindItem operation request that is sent to the server to find appointments in the Calendar folder that occur in the next 30 days. The values of some attributes and elements have been shortened for readability.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages"
               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types"
               xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2007_SP1" />
  </soap:Header>
  <soap:Body>
    <m:FindItem Traversal="Shallow">
      <m:ItemShape>
        <t:BaseShape>IdOnly</t:BaseShape>
        <t:AdditionalProperties>
          <t:FieldURI FieldURI="item:Subject" />
          <t:FieldURI FieldURI="calendar:Start" />
          <t:FieldURI FieldURI="calendar:End" />
        </t:AdditionalProperties>
      </m:ItemShape>
      <m:CalendarView MaxEntriesReturned="5" StartDate="2013-10-16T17:04:28.722Z" EndDate="2013-11-15T18:04:28.722Z" />
      <m:ParentFolderIds>
        <t:FolderId Id="AAAEOAAA=" ChangeKey="AgAAABYAAAAqRr3mNdNMSasqx/o9J13UAAAAAAA3" />
      </m:ParentFolderIds>
    </m:FindItem>
  </soap:Body>
</soap:Envelope>

Le serveur répond à la demande FindItem avec un message FindItemResponse comprenant la valeur ResponseCode de l’élément NoError, qui indique que l’opération a abouti. Si des éléments de calendrier répondent à des critères de filtre, ils sont inclus dans la réponse.The server responds to the FindItem request with a FindItemResponse message that includes the ResponseCode value of NoError, which indicates that the operation completed successfully. If any calendar items meet the filtering criteria, they are included in the response.

Notez que les informations que le serveur renvoie dans la réponse de l’opération GetItem sont différentes des informations que le serveur renvoie dans une réponse de l’opérationFindItem ou FindAppointment.Note that the information the server returns in the GetItem operation response is different than the information the server returns in a FindItem or FindAppointment operation response. L’opérationGetItem peut renvoyer toutes les propriétés schématisées, alors que les opérationsFindItemetFindAppointmentne les renvoient pas.The GetItem operation can return all the schematized properties, whereas the FindItem and FindAppointment operations do not return all the schematized properties. Par conséquent, si vous avez besoin d’un accès complet à l’élément, vous devez utiliser l’opération GetItem.So if you need full access to the item, you'll have to use the GetItem operation. Si vous ne disposez pas de l’ItemIdde l’élément que vous souhaitez récupérer, utilisez les opérationsFindItem ou FindAppointmentpour récupérer l’ItemId, puis utilisez l’opérationGetItempour récupérer les éléments dont vous avez besoin.If you don't have the ItemId of the item you'd like to retrieve, use the FindItem or FindAppointment operations to retrieve the ItemId, and then use the GetItem operation to retrieve the elements you need.

Pour découvrir comment obtenir un élément de réunion ou de rendez-vous à l’aide d’EWS, voir Obtenir des rendez-vous et des réunions à l’aide d’EWS dans Exchange.To learn how to get a meeting or appointment item by using EWS, see Get appointments and meetings by using EWS in Exchange.

Mise à jour d’un élément à l’aide de l’API managée EWSUpdate an item by using the EWS Managed API

Les étapes pour mettre à jour un élément à l’aide de l’API managée EWS sont similaires pour tous les types d’éléments. Toutefois, les propriétés sont différentes pour chaque type d’élément et la méthode de Mise à jourprésente de nombreuses méthodes surchargées parmi lesquelles faire votre choix.The steps to update an item by using the EWS Managed API are similar for all item types; however, the item properties are different for each item type, and the Update method has many overloaded methods to choose from. Pour mettre à jour un élément, procédez comme suit :To update an item:

  1. Utilisez la méthodeBind pour obtenir la dernière version de l’élément, sauf si vous la possédez déjà.Use the Bind method to get the latest version of the item, unless you already have it. Pour mettre à jour des propriétés propres à un élément fortement identifié, vous devez établir une liaison avec ce type d’élément.To update properties specific to a strongly typed item, you'll have to bind to that item type. Pour mettre à jour des propriétés disponibles sur le type d’élément générique, vous pouvez établir une liaison avec l’objet de l’élément.To update properties available on the generic item type, you can bind to the Item object.

  2. Mettez à jour les propriétés sur l’élément.Update the properties on the item.

  3. Appelez la méthode demise à jour.Call the Update method.

Par exemple, vous pouvez mettre à jour l’objet d’un message électronique à l’aide du type d’élément générique, comme illustré dans le code de l’exemple suivant.For example, you can update the subject of an email by using the generic item type, as shown in the code in the following example.

Cet exemple suppose que le service est un objetExchangeService valide et que l’utilisateur a bien été authentifié pour un serveur Exchange.This example assumes that service is a valid ExchangeService object and that the user has been authenticated to an Exchange server. La variable localeitemId est l’[Id de l’élément à mettre à jour.The local variable itemId is the Id of the item to update.

// Bind to the existing item, using the ItemId.
// This method call results in a GetItem call to EWS.
Item item = Item.Bind(service, itemId);
// Update the Subject of the email.
item.Subject = "New subject";
// Save the updated email.
// This method call results in an UpdateItem call to EWS.
item.Update(ConflictResolutionMode.AlwaysOverwrite);

Pour découvrir comment mettre à jour un élément de réunion ou de rendez-vous à l’aide de l’API managée EWS, voir Mettre à jour des rendez-vous et des réunions à l’aide d’EWS dans Exchange.To learn how to update a meeting or appointment item by using the EWS Managed API, see Update appointments and meetings by using EWS in Exchange.

Mise à jour d’un élément à l’aide d’EWSUpdate an item by using EWS

Pour mettre à jour un élément à l’aide d’EWS, procédez comme suit :To update an item by using EWS, do the following:

  1. Utilisez l’opération GetItem pour obtenir la dernière version de l’élément, sauf si vous la possédez déjà.Use the GetItem operation to get the latest version of the item, unless you already have it.

  2. Utilisez l’opération UpdateItem afin de spécifier des champs à mettre à jour et d’affecter de nouvelles valeurs à ces champs.Use the UpdateItem operation to specify fields to update and assign new values to those fields.

L’exemple suivant présente la demande d’opération UpdateItem XML qui est envoyée au serveur pour mettre à jour l’objet du message électronique. Les valeurs de certains attributs et éléments ont été raccourcies pour des raisons de lisibilité.The following example shows the XML UpdateItem operation request that is sent to the server to update the Subject value of the email message. The values of some attributes and elements have been shortened for readability.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2010_SP1" />
  </soap:Header>
  <soap:Body>
    <m:UpdateItem MessageDisposition="SaveOnly" ConflictResolution="AlwaysOverwrite">
      <m:ItemChanges>
        <t:ItemChange>
          <t:ItemId Id="APdZjAAA=" ChangeKey="CQAAABYAAAAqRr3mNdNMSasqx/o9J13UAAAAPdgr" />
          <t:Updates>
            <t:SetItemField>
              <t:FieldURI FieldURI="item:Subject" />
              <t:Message>
                <t:Subject>New subject</t:Subject>
              </t:Message>
            </t:SetItemField>
          </t:Updates>
        </t:ItemChange>
      </m:ItemChanges>
    </m:UpdateItem>
  </soap:Body>
</soap:Envelope>

Le serveur répond à la requête UpdateItem par un message UpdateItemResponse comprenant la valeur ResponseCode de NoError, qui indique que l’élément a été mis à jour avec succès.The server responds to the UpdateItem request with a UpdateItemResponse message that includes the a ResponseCode value of NoError, which indicates that the item update was successful.

Pour découvrir comment mettre à jour un élément de réunion ou de rendez-vous à l’aide d’EWS, voirMettre à jour des rendez-vous et des réunions à l’aide d’EWS in Exchange.To learn how to update a meeting or appointment item by using EWS, see Update appointments and meetings by using EWS in Exchange.

Suppression d’un élément à l’aide de l’API managée EWSDelete an item by using the EWS Managed API

Vous pouvez supprimer des éléments en les déplaçant vers le dossier Éléments supprimés ou en les envoyant dans la corbeille.You can delete items by moving them to the Deleted Items folder or to the dumpster. Si vous connaissez l’ItemId de l’élément à supprimer, appelez simplement la méthodeSupprimersur l’élément.If you know the ItemId of the item to delete, just call the Delete method on the item.

Si vous devez rechercher l’élément avant de le supprimer, procédez comme suit :If you need to find the item before deleting it, do the following:

  1. Appelez la méthode FindItems ou FindAppointmentspour rechercher l’élément à supprimer.Call the FindItems or FindAppointments method to find the item to delete.

  2. Instanciez unPropertySetet limitez-le aux propriétés à renvoyer, ou utilisez unSearchFilterCollectionpour rechercher des éléments spécifiques.Instantiate a PropertySet and limit it to the properties to return, or use a SearchFilterCollection to find specific items.

  3. Instanciez un objetItemView ouCalendarViewafin de spécifier le nombre d’éléments à retenir. Instantiate an ItemView or CalendarView to specify the number of items to return.

  4. Appelez la méthodesupprimer.Call the Delete method.

Par exemple, le code suivant indique comment déplacer un message électronique vers le dossier Éléments supprimés.For example, the following code shows how to move an email message to the Deleted Items folder.

Cet exemple suppose que le service est un objetExchangeService valide et que l’utilisateur a bien été authentifié pour un serveur Exchange.This example assumes that service is a valid ExchangeService object and that the user has been authenticated to an Exchange server. La variable localeitemId est l’[Id de l’élément à mettre à jour.The local variable itemId is the Id of the item to update.

// Bind to the existing item, using the ItemId.
// This method call results in a GetItem call to EWS.
Item item = Item.Bind(service, itemId);
// Delete the item by moving it to the Deleted Items folder.
// This method call results in a DeleteItem call to EWS.
item.Delete(DeleteMode.MoveToDeletedItems);

Pour plus d’informations sur la suppression d’éléments, voir Supprimer les éléments à l’aide d’EWS dans Exchange.For more details about deleting items, see Deleting items by using EWS in Exchange. Pour découvrir comment supprimer un élément de réunion ou de rendez-vous à l’aide de l’API managée EWS, voir Supprimer des rendez-vous et annuler des réunions à l’aide d’EWS dans Exchange.To learn how to delete a meeting or appointment item by using the EWS Managed API, see Delete appointments and cancel meetings by using EWS in Exchange.

Suppression d’un élément à l’aide d’EWSDelete an item by using EWS

Vous pouvez supprimer un élément à l’aide de l’opération DeleteItem.You can delete an item by using the DeleteItem operation.

L’exemple suivant présente la demande XML qui est envoyée au serveur pour déplacer le message vers le dossier Éléments supprimés. Les valeurs de certains attributs et éléments ont été raccourcies pour des raisons de lisibilité.The following example shows the XML request that is sent to the server to move the email message to the Deleted Items folder. The values of some attributes and elements have been shortened for readability.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2010_SP1" />
  </soap:Header>
  <soap:Body>
    <m:DeleteItem DeleteType="MoveToDeletedItems">
      <m:ItemIds>
        <t:ItemId Id="APdZjAAA=" ChangeKey="CQAAABYAAAAqRr3mNdNMSasqx/o9J13UAAANIFzC" />
      </m:ItemIds>
    </m:DeleteItem>
  </soap:Body>
</soap:Envelope>

Le serveur répond à la requête UpdateItem par un message UpdateItemResponse comprenant la valeur ResponseCode de NoError, qui indique que l’élément a été supprimé avec succès.The server responds to the DeleteItem request with a DeleteItemResponse message that includes the a ResponseCode value of NoError, which indicates that the item deletion was successful.

Pour plus d’informations sur la suppression d’éléments, voir Supprimer les éléments à l’aide d’EWS dans Exchange.For more details about deleting items, see Deleting items by using EWS in Exchange. Pour découvrir comment supprimer un élément de réunion ou de rendez-vous à l’aide d’EWS, voir Supprimer des rendez-vous et annuler des réunions à l’aide d’EWS dans Exchange.To learn how to delete a meeting or appointment item by using EWS, see Delete appointments and cancel meetings by using EWS in Exchange.

Déplacement ou copie d’éléments vers une autre boîte aux lettresMove or copy items to another mailbox

Vous pouvez déplacer ou copier des éléments d’une boîte aux lettres vers une autre à l’aide des opérations ExportItems et UploadItems.You can move or copy items between mailboxes by using the ExportItems and UploadItems operations. Pour plus d’informations, voir Exportation et importation d’éléments à l’aide d’EWS dans Exchange.To learn more, see Exporting and importing items by using EWS in Exchange.

Voir aussiSee also