Partager via


Obtenir les pièces jointes d’un élément Outlook à partir d’Exchange

L’API JavaScript Office inclut des API permettant d’obtenir des pièces jointes et leur contenu à partir de messages et de rendez-vous dans Outlook. Le tableau suivant répertorie ces API de pièces jointes, les modes Outlook dans lesquels elles fonctionnent et l’ensemble minimal de conditions requises pour la boîte aux lettres qu’elles doivent utiliser.

API Modes Outlook pris en charge Ensemble de conditions requises minimales
Office.context.mailbox.item.attachments Lire 1.1
Office.context.mailbox.item.getAttachmentsAsync Composition 1.8
Office.context.mailbox.item.getAttachmentContentAsync Lecture
Composition
1.8

Si le client Outlook dans lequel le complément s’exécute ne prend pas en charge l’ensemble de conditions requises minimales nécessaires, vous pouvez obtenir une pièce jointe et son contenu directement à partir d’Exchange. Sélectionnez l’onglet de l’environnement Exchange applicable.

Dans Exchange Online environnements, votre complément doit effectuer les étapes suivantes pour obtenir des pièces jointes directement à partir d’Exchange.

  1. Obtenez un jeton d’accès à Microsoft Graph.
  2. Obtient l’ID d’élément du message ou du rendez-vous applicable.
  3. Utilisez Microsoft Graph pour obtenir la pièce jointe et ses propriétés.

Chaque étape est traitée dans les sections suivantes.

Obtenir un jeton d’accès

Microsoft Graph permet d’accéder aux données de messagerie Outlook des utilisateurs. Avant que votre complément puisse obtenir des données à partir de Microsoft Graph, il doit d’abord obtenir un jeton d’accès pour l’autorisation. Pour obtenir un jeton d’accès, utilisez l’authentification d’application imbriquée (NAA). Pour en savoir plus sur NAA, voir Activer l’authentification unique dans un complément Office à l’aide de l’authentification d’application imbriquée (préversion).

Obtenir l’ID d’élément de l’élément de courrier

Pour obtenir des informations sur une pièce jointe à l’aide de Microsoft Graph, vous avez besoin de l’ID d’élément du message ou du rendez-vous qui inclut la pièce jointe. Utilisez l’API JavaScript Office applicable pour obtenir l’ID d’élément.

  • Mode lecture : appelez Office.context.mailbox.item.itemId. Sur les clients Outlook non mobiles, étant donné que cette propriété renvoie un ID au format EWS (Exchange Web Services), vous devez utiliser la méthode Office.context.mailbox.convertToRestId pour convertir l’ID dans un format REST que Microsoft Graph peut utiliser.

    // Get the item ID of the current mail item in read mode and convert it into a REST format.
    const itemId = Office.context.mailbox.item.itemId;
    const restId = Office.context.mailbox.convertToRestId(itemId, Office.MailboxEnums.RestVersion.v2_0);
    
  • mode Compose : la méthode permettant d’obtenir l’ID d’élément varie selon que l’élément de courrier a été enregistré ou non en tant que brouillon.

    • Si l’élément a été enregistré, appelez Office.context.mailbox.item.getItemIdAsync.

      // Get the item ID of the current mail item being composed.
      Office.context.mailbox.item.getItemIdAsync((result) => {
          if (result.status === Office.AsyncResultStatus.Failed) {
              console.error(result.error.message);
              return;
          }
      
          const itemId = result.value;
      });
      

      Conseil

      La getItemIdAsync méthode a été introduite dans l’ensemble de conditions requises mailbox 1.8. Si le client Outlook dans lequel votre complément s’exécute ne prend pas en charge mailbox 1.8, utilisez Office.context.mailbox.item.saveAsync à la place, car cette méthode a été introduite dans Mailbox 1.3.

    • Si l’élément n’a pas encore été enregistré, appelez Office.context.mailbox.item.saveAsync pour lancer l’enregistrement et obtenir l’ID d’élément.

      // Save the current mail item being composed to get its ID.
      Office.context.mailbox.item.saveAsync((result) => {
          if (result.status === Office.AsyncResultStatus.Failed) {
              console.error(result.error.message);
              return;
          }
      
          const itemId = result.value;
      });
      

      Remarque

      Si votre client Outlook est en mode mis en cache, la synchronisation de l’élément enregistré sur le serveur peut prendre un certain temps. Tant que l’élément n’est pas synchronisé, l’utilisation de l’ID d’élément renvoie une erreur.

Utiliser Microsoft Graph

Une fois que vous avez obtenu un jeton d’accès et l’ID d’élément de l’élément de courrier contenant la pièce jointe, vous pouvez maintenant effectuer une requête Microsoft Graph. Pour obtenir des informations et des exemples sur la façon d’obtenir une pièce jointe à l’aide de Microsoft Graph, consultez Obtenir une pièce jointe.

Voir aussi