Det går inte att spara ett möte som ett utkast i Outlook för Mac med Hjälp av Office JS API

Ursprungligt KB-nummer:   4505745

Symptom

Microsoft Outlook för Mac har inte stöd för SaveAsync på möten i skrivläge. Outlook-tillägg kan inte få objektidentifieraren. Det innebär att tilläggen inte kan identifiera och kommunicera med Microsoft Exchange för att uppdatera eller lyssna efter ändringar för objektet.

Lösning

Du kan komma runt det här problemet genom att ange en utökad egenskap(customProperty: Office JS API) för objektet. En utökad egenskap är en del av objektet och kommer att vara tillgänglig i Exchange så snart objektet skickas. Tillägget kan därför fråga eller lyssna på objekt som har den här utökade egenskapsuppsättningen.

Så här anger du egenskapen:

  1. Välj någon av följande API-uppsättningar som ska användas:

    1. EWS
    2. REST
    3. Graph
  2. Hämta en giltig token för varje API-uppsättning:

    1. EWS: Använd getCallbackScopedAsync
    2. REST: Använd getCallbackScopedAsync med options.isRest = true
    3. Diagram: Använd onBehalfOf token
  3. Fråga eller lyssna efter kalenderhändelser:

    1. EWS: Prenumerera på den skapade händelsen
    2. REST: Prenumerera på det skapade meddelandet och filtrera baserat på den utökade egenskapen
    3. Diagram: Prenumerera på det skapade meddelandet och filtrera baserat på den utökade egenskapen
  4. Hitta motsvarande utökade egenskap i 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} Namn cecp- <add-in id from manifest> }

  5. Använd meddelandet som skickas till webhook för att uppdatera backend med itemId när prenumerationen lyckas.