Impossible d’enregistrer une réunion en tant que brouillon dans Outlook pour Mac à l’aide de l’API JS Office

Numéro de la ko d’origine :   4505745

Symptômes

Microsoft Outlook pour Mac ne prend pas en charge saveAsync sur une réunion en mode Composition. Les add-ins Outlook ne peuvent pas obtenir l’identificateur d’élément. Cela signifie que les add-ins ne peuvent pas identifier et communiquer de manière unique avec Microsoft Exchange pour mettre à jour ou écouter les modifications apportées à l’élément.

Solution de contournement

Pour contourner ce problème, vous pouvez définir une propriété étendue(customProperty: API JS Office) sur l’élément. Une propriété étendue fait partie de l’élément et est disponible sur Exchange dès que l’élément est envoyé. Par conséquent, le add-in peut interroger ou écouter des éléments qui ont cette propriété étendue définie.

Pour définir la propriété, suivez les étapes suivantes :

  1. Choisissez l’un des ensembles d’API suivants à utiliser :

    1. EWS
    2. REST
    3. Graph
  2. Obtenez un jeton valide pour chaque ensemble d’API :

    1. EWS : utiliser getCallbackScopedAsync
    2. REST : utiliser getCallbackScopedAsync avec options.isRest = true
    3. Graph : utiliser un jeton onBehalfOf
  3. Interroger ou écouter des événements de calendrier :

    1. EWS : s’abonner à l’événement créé
    2. REST : s’abonner à la notification créée et filtrer en fonction de la propriété étendue
    3. Graph : s’abonner à la notification créée et filtrer en fonction de la propriété étendue
  4. Recherchez la propriété étendue correspondante sur Exchange :

    1. EWS :

      ExtendedFieldURI {PropertySet = PS_PUBLIC_STRINGS, PropertyName = cecp- <add-in id from manifest> }

    2. REST/Graph :

      SingleValueExtendedProperties { PropertyId = String {00020329-0000-0000-c000-000000000046} Name cecp- <add-in id from manifest> }

  5. Utilisez la notification envoyée au webhook pour mettre à jour le serveur principal avec itemId lorsque l’abonnement réussit.