Van Outlook REST API & EWS naar Microsoft Graph: De migratiegids voor ontwikkelaars in 2026

Unipile - Inhoudsopgave
2026 Migratiegids

Van Outlook REST API & EWS naar Microsoft Graph

De Outlook REST API v2.0 is verdwenen (maart 2024). Exchange Web Services (EWS) bereikt zijn definitieve end-of-life op 1 oktober 2026. Deze gids behandelt elk eindpunt, elke OAuth-stroom en elke migratiestap die je vóór de deadline moet implementeren.

EWS uiterste deadline: 1 oktober 2026. Microsoft bevestigde geen respijtperiode voor Exchange Online. Begin nu met uw migratie.

graph-mail.js
// Outlook REST API via Microsoft Graph // Vervang EWS SOAP door een enkele REST-aanroep const response = wachten fetch( 'https://graph.microsoft.com/v1.0/me/berichten', { kopteksten: { 'Authorization': `Drager ${accessToken}`, 'Content-Type': "toepassing/json } } ); const { waarde: berichten } = wacht op antwoord.json(); console.log(`Er zijn ${messages.length} e-mails opgehaald`);
GET /mijn/berichten - 200 OK - 12 berichten geretourneerd
Wat is het

Wat is de Outlook REST API in 2026?

De term "Outlook REST API" zorgt in 2026 voor verwarring omdat Microsoft deze de afgelopen tien jaar voor ten minste drie verschillende zaken heeft gebruikt. Hieronder volgt de precieze huidige betekenis, waarom het nog steeds belangrijk is voor ontwikkelaars, en wat er is veranderd.

Definitie: In 2026 verwijst de term "Outlook REST API" informeel naar de mail-eindpunten van Microsoft Graphhttps://graph.microsoft.com/v1.0/me/messages). De originele toegewijde Outlook REST API v2.0 (outlook.office.com/api/v2.0) is op 31 maart 2024 definitief buiten gebruik gesteld en retourneert nu voor alle verzoeken een HTTP 410 Gone-status. Microsoft Graph is nu de enige, uniforme API voor e-mail, agenda en contactpersonen in Microsoft 365, Exchange Online, Outlook.com en Teams.

Dit is belangrijk in 2026 om twee redenen: ten eerste, elke toepassing die nog steeds verwijst naar de oude outlook.office.com/api/ Het domein is defect. Ten tweede hebben applicaties die gebruikmaken van Exchange Web Services (EWS) - het oudere SOAP-gebaseerde protocol - een harde handhavingsdeadline van 1 oktober 2026 voor Exchange Online. Het begrijpen van de juiste nomenclatuur is de eerste stap naar een succesvolle migratie.

Naamverduidelijking
Naam Protocol Basis-URL Status in 2026
Outlook REST API v2.0 REST / JSON outlook.office.com/api/v2.0 Overleden (mrt 2024)
Exchange Web Services (EWS) SOAP / XML outlook.office365.com/EWS/ Einde levensduur okt 2026
Microsoft Graph Mail API REST / JSON grafiek.microsoft.com/v1.0/mij/berichten Leven - Gebruik Dit
MAPI / Outlook COM COM / Binair Alleen desktop Alleen desktop

Voor een diepgaande kennismaking met Microsoft Graph-integratie buiten e-mail (webhooks, delta-query's, gedeelde postbussen), zie de Microsoft Graph API e-mail integratiehandleiding. De pijlergids die alle e-mail API-patronen behandelt, bevindt zich op de E-mail API-ontwikkelaarsgids.

Bouwen op Outlook in 2026? Unipile biedt u een uniforme e-mail-API die Microsoft Graph, Gmail en IMAP beheert met één enkele integratie - geen migratie per provider nodig.

Bouw het met Unipile
Tijdlijn

Van v2.0 tot Microsoft Graph: Een korte geschiedenis

De afschrijving van de Outlook REST API v2.0 was niet plotseling - Microsoft kondigde dit jaren van tevoren aan met meerdere deadlineverlengingen. Het begrijpen van deze geschiedenis helpt u te anticiperen op wat Microsoft zal doen met EWS, en waarom de deadline van oktober 2026 als definitief wordt beschouwd.

2015 - 2017
Outlook REST API v2.0 Gelanceerd

Microsoft introduceert een REST-gebaseerde API bij outlook.office.com/api/v2.0 Als modern alternatief voor EWS. Ontwikkelaars kunnen e-mail lezen, agenda-afspraken beheren en contacten benaderen via JSON over HTTPS - een aanzienlijke verbetering ten opzichte van SOAP/XML.

2019
Microsoft Graph wordt de verenigde API

Microsoft lanceert Microsoft Graph als één enkel eindpunt dat alle Microsoft 365-services dekt - e-mail, agenda, contacten, Teams, OneDrive, SharePoint en meer. De graph.microsoft.com domein wordt de canonieke manier om programmatisch toegang te krijgen tot Microsoft-gegevens.

November 2020
Aankondiging van veroudering voor Outlook REST API v2.0

Microsoft kondigt officieel de uitfasering aan van de Outlook REST API v2.0 (en v1.0 beta), waarbij Microsoft Graph als vervanging wordt genoemd. De aankondiging stelt expliciet dat de oude eindpunten zullen stoppen met werken - met een deadline van "eind 2022" destijds.

2022 - 2023
Meerdere uitstelverzoeken

Microsoft stelt de deadline twee keer uit - eerst tot november 2022, daarna tot maart 2023, en vervolgens tot maart 2024. Elke verlenging ging gepaard met een waarschuwing: "dit is de laatste verlenging". Veel ontwikkelaars beschouwden deze verlengingen als een signaal dat deadlines flexibel waren. De EWS-deadline van oktober 2026 wordt strikter gehandhaafd.

31 maart 2024
Outlook REST API v2.0 permanent verwijderd

De outlook.office.com/api/v2.0 endpoint retourneert HTTP 410 Gone voor alle verzoeken. Geen extensies meer. Elke toepassing die nog steeds deze URL's aanroept, werkt niet meer. "Outlook REST API" betekent nu Microsoft Graph wanneer het correct wordt gebruikt. Zie voor de volledige integratiehandleiding voor Microsoft Graph mail-endpoints Microsoft Graph API e-mail integratiehandleiding.

1 oktober 2026
EWS Einde-van-levensduur voor Exchange Online

Exchange Web Services zal stoppen met werken voor Exchange Online (Microsoft 365 cloud). Microsoft heeft bevestigd dat dit een harde handhavingsdatum is. On-premises Exchange-servers worden niet beïnvloed. Alle cloudgebaseerde toepassingen die SOAP/XML EWS-aanroepen gebruiken, moeten vóór deze datum zijn gemigreerd naar Microsoft Graph.

Waarom deze migratie onvermijdelijk was

Moderne OAuth 2.0 Beveiliging

De oudere API's vertrouwden op Basic Auth en legacy token-formaten. Microsoft Graph vereist OAuth 2.0 met Azure Active Directory, wat in lijn is met zero-trust beveiligingsmodellen en risico's op blootstelling van inloggegevens elimineert.

Unified Identiteit Platform

Microsoft Graph consolideert toegang tot elke Microsoft 365-service via een enkel identiteitsplatform. Eén app-registratie, één token, één eindpuntvoorvoegsel – tegenover het onderhouden van afzonderlijke referenties per legacy API.

Rijkere Mogelijkheden

Microsoft Graph biedt functies die EWS nooit had: delta-query's voor incrementele synchronisatie, wijzigingsmeldingen (webhooks), zoeken in alle inhoud, Teams-integratie en Graph-specifieke analyses - allemaal via schone REST/JSON.

Unipile - EWS Levensduur Einde
Dringende deadline

De echte deadline van 2026: EWS End-of-Life (1 oktober 2026)

Hoewel de uitfasering van de Outlook REST API v2.0 een relatief kleine groep ontwikkelaars heeft getroffen, is het einde van EWS voor Exchange Online een veel grotere gebeurtenis. Duizenden bedrijfsapplicaties, mailclients, kalendersynchronisatietools en back-upsystemen vertrouwen nog steeds op Exchange Web Services. 1 oktober 2026 is de definitieve overgang - hier is wat u moet weten.

EWS Strikte deadline: 1 oktober 2026 - Geen uitlooptermijn

Reikwijdte Alleen Exchange Online (Microsoft 365 cloud). On-premises Exchange-servers worden niet beïnvloed. Handhaving: Microsoft heeft bevestigd dat dit een harde cutover is - EWS-aanvragen aan Exchange Online zullen niet meer worden verwerkt. Wat breekt: alle SOAP/XML-aanroepen naar outlook.office365.com/EWS/Exchange.asmx, inclusief apps die de EWS Managed API .NET-bibliotheek gebruiken, Kerberos/NTLM-authenticatiegesprekken en Basic Auth via EWS.

Wie wordt er getroffen

  • Aangepaste e-mailclients gebouwd op EWS Managed API
  • Outlook-invoegtoepassingen met EWS-aanroepen (niet Graph-gebaseerd)
  • Agenda synchronisatie applicaties (boekingen van ruimtes, planning)
  • E-mail back-up en archiveringshulpmiddelen
  • CRM / ATS e-mail synchronisatie integraties
  • Elke app die ExchangeService .NET-klasse

Wat stopt met werken

  • NTLM en Kerberos authenticatie
  • Basic Auth via EWS (al verouderd)
  • EWS Managed APIMicrosoft.Exchange.WebServices)
  • Streamingmeldingen via EWS
  • EWS-improvisatie (ExchangeImpersonation)
  • SOAP-bewerkingen: GetItem, FindItems, SyncFolderItems

Wat NIET wordt beïnvloed

  • On-premises Exchange 2016 / 2019 / SE EWS
  • Microsoft Graph API (dit is het migratiedoel)
  • IMAP / SMTP voor basis verzend/ontvangst
  • ActiveSync (afzonderlijk verouderd)
  • Outlook desktop-app zelf (gebruikt eigen MAPI)

Migratietijdlijn Werkelijkheid

  • Eenvoudige app met 1-2 EWS-bewerkingen: 1-2 weken
  • App van gemiddelde complexiteit (e-mail + agenda + contacten): 4-8 weken
  • Enterprise-app met EWS-impersonatie: 8-16 weken
  • Leveranciersafhankelijkheid (wachten op bibliotheekupdate): niet beheerst
  • Testen + UAT + implementatie in de productieomgeving: reken op 2 tot 4 weken

Op een krappe deadline voor EWS-migratie? De unieke e-mail-API van Unipile abstraheert Microsoft Graph (en Gmail en IMAP) zodat je eenmalig migreert en nooit meer aangepaste code voor providers hoeft aan te raken. Zie de Volledige e-mail API-gids voor architectuurpatronen.

Uw Migratie Starten
API referentie

Outlook REST API-eindpunten in 2026 (via Microsoft Graph)

Alle Outlook REST API-functionaliteit wordt nu geleverd via Microsoft Graph op https://graph.microsoft.com/v1.0. Hieronder staan de belangrijkste eindpunten voor e-mail, agenda en contacten, met de bijbehorende HTTP-methoden en een codevoorbeeld voor elke categorie.

E-mail-eindpunten

Methode Eindpunt Beschrijving Vereiste reikwijdte
GET /ik/berichten Berichten in de inbox weergeven (ondersteunt $filter, $orderby, $top, $select) Mail.lezen
GET /me/berichten/{id} Een enkel bericht op basis van ID ophalen, inclusief de volledige tekst en headers Mail.lezen
POST /ik/e-mailVerzenden Stuur direct een nieuwe e-mail (geen concept opgeslagen) Mail.verzenden
POST /ik/berichten Stel een conceptbericht op (apart verzenden via /send) Mail.ReadWrite
PATCH /me/berichten/{id} Een bericht bijwerken (als gelezen markeren, verplaatsen, categorie wijzigen) Mail.ReadWrite
DELETE /me/berichten/{id} Een bericht permanent verwijderen Mail.ReadWrite
GET /ik/postvakken Alle e-mailmappen weergeven (Postvak IN, Verzonden, Concepten, aangepast) Mail.lezen
GET /ik/berichten/delta Incrementele synchronisatie - alleen gewijzigde berichten ophalen sinds de laatste synchronisatie Mail.lezen
send-mail.js
// POST /me/sendMail - Verzenden via Outlook REST API (Microsoft Graph) const response = wacht op fetch('https://graph.microsoft.com/v1.0/me/sendMail', { methode: POST, kopteksten: { 'Authorization': `Drager ${accessToken}`, 'Content-Type': "toepassing/json }, lichaam: JSON.stringify({ message: { onderwerp: 'Hallo van Microsoft Graph', lichaam: { contentType: 'Tekst', inhoud: 'EWS-migratie voltooid!' }, aanOntvangers: [{ e-mailadres: { adres: 'user@example.com' } }] }, opslaanInVerzondenItems: true }) }); // 202 Geaccepteerd = succesvol verzonden

Kalender eindpunten

Methode Eindpunt Beschrijving Vereiste reikwijdte
GET /me/evenementen Alle agenda-afspraken weergeven (ondersteunt $-filter op begin-/eindtijd) Kalenders.Lezen
GET /mij/agendaview Verkrijg gebeurtenissen in een tijdsbereik (startDateTime + endDateTime parameters) Kalenders.Lezen
POST /me/evenementen Nieuwe agenda-afspraak maken met deelnemers en herhaling Agenda's.LezenSchrijven
GET /ik/agenda's Alle gebruikersagenda's weergeven (primair, gedeeld, groep) Kalenders.Lezen

Contact Eindpunten

Methode Eindpunt Beschrijving Vereiste reikwijdte
GET /ik/contacten Toon alle contactpersonen in de standaard contactmap Contacten.Lezen
POST /ik/contacten Nieuw contact aanmaken Contacten.LezenSchrijven
GET /ik/contactmappen Contactmappen weergeven Contacten.Lezen

Wil je één enkele API die Outlook REST (Microsoft Graph), Gmail en IMAP afhandelt? Unipile bundelt ze alle drie met één uniform eindpunt. Vergelijk aanbieders op e-mail API providers vergelijking.

Bouw met Unified API
Authenticatie

OAuth 2.0-authenticatie: de enige weg vooruit

NTLM, Kerberos en Basic-verificatie zijn allemaal afgeschaft voor Microsoft 365. OAuth 2.0 is nu de verplichte verificatiemethode voor elk verzoek aan de Microsoft Graph API. Er is geen terugvaloptie, geen compatibiliteitsmodus en geen uitstel. Als uw toepassing nog steeds gebruikmaakt van verouderde verificatiestromen, wordt deze al geblokkeerd voor nieuwe tenants en zal deze voor alle tenants volledig uitvallen zodra de EWS-handhaving in oktober 2026 volledig is doorgevoerd.

Erfenis authenticatiestatus (mei 2026): NTLM en Kerberos zijn volledig uitgeschakeld voor Exchange Online. Basisverificatie is in oktober 2022 voor Exchange Online afgeschaft. OAuth 2.0 via Azure AD is de enige toegestane verificatiemethode voor Microsoft Graph.

Azure AD App Registratie: 5 Stappen

01
Een app-registratie maken in Azure AD
Ga naar portal.azure.com - Azure Active Directory - App-registraties - Nieuwe registratie. Kies een naam, stel het ondersteunde acconttype in (single tenant, multitenant of persoonlijke accounts) en configureer een omleidings-URI.
02
Configureer API-machtigingen
Onder API-machtigingen, voeg Microsoft Graph-machtigingen toe. Kies voor machtigingen van het type ‘Gedelegeerd (gebruikerscontext)’ of ‘Toepassing (daemon)’, afhankelijk van uw gebruikssituatie. Bij de meeste e-mail- en agenda-integraties worden gedelegeerde machtigingen gebruikt.
03
Maak een clientgeheim (of certificaat)
Onder Certificaten en geheimen, maak een nieuw clientsecret aan. Kopieer de waarde meteen – deze wordt maar één keer weergegeven. Voor productie-apps is een certificaat veiliger dan een clientsecret.
04
De autorisatiecodeprocedure implementeren
Gebruikers doorsturen naar https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize met klant_id, bereik, omleiding_urien response_type=code. Na toestemming, ruil je de code in voor tokens bij het token-eindpunt.
05
Vraag indien nodig om beheerdersgoedkeuring
Sommige bereiken (zoals Mail.ReadWrite.All) vereis toestemming van de tenantbeheerder voordat een gebruiker toestemming kan geven. Gebruik hiervoor het admin consent-eindpunt: /beheerderstoestemming toegang met een beheerdersaccount voor huurders.

Vereiste OAuth-bereiken voor Graph API

Scroll horizontaal om de volledige tabel te zien
Reikwijdte Type Gebruikscasus
Mail.lezen Gedelegeerd Berichten in de mailbox van de gebruiker lezen
Mail.ReadWrite Gedelegeerd E-mailberichten lezen en wijzigen
Mail.verzenden Gedelegeerd E-mail verzenden namens gebruiker
Agenda's.LezenSchrijven Gedelegeerd Lees en wijzig agenda-afspraken
Contacten.Lezen Gedelegeerd Gebruikerscontacten lezen
Mail.ReadWrite.All Toepassing Alle mailboxen lezen/schrijven (daemon-apps, vereist toestemming van de beheerder)
Agenda's.LezenSchrijven.Alles Toepassing Alle agenda’s lezen en bewerken (daemon-apps, vereist toestemming van de beheerder)
offline_access Gedelegeerd Vereist om een vernieuwingstoken te ontvangen voor langdurige toegang

Verloop van de autorisatiecode - Voorbeeld in Node.js

JavaScript (Node.js)
// Stap 1: Bouw autorisatie-URL
const authUrl = `https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/authorize?`
  + nieuw URLSearchParams({
    client_id: CLIENT_ID,
    response_type: 'code',
    redirect\_uri: OMLEIDINGS_URI,
    bereik: 'Mail.Lezen Mail.Verzenden Calendars.Lezen Schrijven offline_toegang',
    reactie_modus: 'query'
  });

// Stap 2: Wissel code in voor tokens
const tokenRes = wacht op fetch(
  `https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/token`,
  {
    methode: POST,
    body: nieuw URLSearchParamsclient_id: CLIENT_ID,
      client_geheim: CLIENT_SECRET,
      code: authCode,      redirect_uri: OMLEIDINGS_URI,
      grant_type: 'autorisatiecode'
    })
  }
);
const { toegang_token, vernieuw_token } = wacht op tokenRes.json();

// Stap 3: Vernieuwen wanneer de access token verloopt (doorgaans 1 uur)
const verversRes = wacht op fetchtokenEndpoint, {
  method: POST,
  body: nieuw URLSearchParams({
    client_id: CLIENT_ID,
    client_secret: CLIENT_SECRET,
    vernieuwingstoken: opgeslagenVerversToken,
    grant_type: 'vernieuwingstoken'
  })
});
Verwerking van vernieuwingstokens: Microsoft Graph-toegangstokens verlopen na 1 uur. Sla de vernieuwingstoken veilig in uw database en gebruik deze om nieuwe toegangstokens aan te vragen zonder dat de gebruiker opnieuw hoeft te authenticeren. Vernieuwingstokens kunnen na 90 dagen inactiviteit verlopen. Vraag altijd de offline_access scope om een vernieuwingstoken te ontvangen.
Actieplan

Migratie-checklist: EWS naar Microsoft Graph in 10 stappen

Microsoft heeft de strenge handhaving van de veroudering van EWS voor Exchange Online bevestigd op 1 oktober 2026. Er is geen respijtperiode, geen terugdraaimogelijkheid en geen compatibiliteitsbrug. Elke applicatie die nog steeds Exchange Web Services gebruikt voor Microsoft 365 zal op die datum defect raken.

Strikte deadline: 1 oktober 2026. Geen extensies. Geen compatibiliteitsmodus. Plan nu uw migratie - een complexe EWS-applicatie kan 4-8 weken duren om volledig naar Microsoft Graph te migreren.
01
Controleer uw huidige EWS-gebruik
Inventariseer elke EWS-oproep in uw codebase: mailbewerkingen, agenda-synchronisatie, contactvragen, push-/pull-/streamingmeldingen. Dit bepaalt uw migratiebereik en de geschatte inspanning.
02
Registreer een Azure AD-app en definieer bereiken
Maak uw app-registratie in de Azure-portal. Definieer de minimaal vereiste Microsoft Graph-bereiken voor uw gebruiksscenario. Vraag alleen wat u nodig heeft – vermijd overmatige machtigingen.
03
EWS-bewerkingen mappen op Graph-endpoints
Een vertaaltabel: FindItem wordt GET /me/messages, CreateItem wordt POST /me/sendMail, FindAppointments wordt GET /me/events. Microsoft biedt een officiële EWS-naar-Graph-toewijzingsgids.
04
Vervang WCF/SOAP door REST HTTP-aanroepen
EWS gebruikt SOAP over HTTP. Microsoft Graph gebruikt standaard REST met JSON. Verwijder alle WCF proxyklassen, SOAP XML-serialisatie en EWS Managed API-afhankelijkheden uit uw codebase.
05
Migreer authenticatie van verouderde protocollen naar OAuth 2.0
Vervang NTLM, Kerberos of Basic Auth door de OAuth 2.0 autorisatiecodestroom. Implementeer logica voor het vernieuwen van tokens met de offline_access scope om langdurige toegang te behouden.
06
Testen in dev tenant met Microsoft Graph Explorer
Gebruik Graph Explorer (developer.microsoft.com/graph/graph-explorer) om API-aanroepen te prototypen en te testen voordat u code schrijft. Stel een aparte ontwikkeltenant in om te voorkomen dat u tegen productie-e-mailboxen test.
07
Implementeer delta-queries voor incrementele synchronisatie
Vervang EWS SyncFolderItems door Graph delta queries (GET /me/messages/delta). Sla de deltaLink token op om efficiënte incrementele synchronisatie mogelijk te maken - alleen wijzigingen sinds de laatste query worden teruggestuurd.
08
Throttling afhandelen: HTTP 429 en Retry-After
Microsoft Graph handhaaft strikte snelheidslimieten. Implementeer exponentiële backoff: wanneer je HTTP 429 ontvangt, lees de Retry-After header en pauzeer precies voor die duur voordat je het opnieuw probeert.
09
Update foutafhandeling voor Graph-foutformaat
Graphfouten gebruiken een ander formaat dan EWS SOAP-fouten. Parse het JSON-foutobject: { "error": { "code": "...", "message": "..." } }. Werk alle foutafhandeling en logboeken dienovereenkomstig bij.
Deadline
10
Productie-overdracht voor 1 oktober 2026
Plan uw productiewissel ten minste 4 weken voor de deadline. Voer zowel EWS als Graph parallel uit tijdens een overgangsperiode om de correctheid te valideren voordat de EWS-laag volledig wordt gedeactiveerd.
Migreer naar Unipile en sla 8 van de 10 stappen over - geen Azure app-registratie, geen OAuth-stromen, geen throttling-logica om te beheren.
Nu bouwen
Codevoorbeelden

Voorbeelden van codemigratie: EWS versus Microsoft Graph

Hieronder worden 4 veelvoorkomende bewerkingen naast elkaar vergeleken: de bestaande EWS SOAP-aanpak aan de linkerkant, het Microsoft Graph REST-equivalent aan de rechterkant. De verschuiving van uitgebreide XML naar schone JSON is direct duidelijk.

1 Lees inbox-berichten
EWS - FindItem SOAP Verouderd
<soap:Envelope ns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
  
    ZoekItem Doorloop="Ondiep"
      xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
      
        Standaard
      
      <IndexedPageItemWeergave
        MaxAantalTeruggegevenItems="10"
        Verplaatsing="0"
        BasisPunt="Begin"/>
      
        <t:DistinguishedFolderId Ik="postvak"/>
      
    
  
Microsoft Graph REST Huidig
GET /mij/berichten
  ?$select=onderwerp,van,receivedDateTime,bodyPreview
  &$top=10
  &$orderby=receivedDateTime aflopend

Autorisatie: Bearer {access_token}

// Reactie (JSON):
{
  "waarde": [
    {
      "id": "AAMkAGI...",
      "onderwerp": "Hallo",
      "van": {
        "e-mailadres": {
          "adres": "sender@example.com"
        }
      },
      "ontvangstDatumTijd": "27-05-2026T..."
    }
  ],
  "@odata.nextLink": "https://..."
}
2 Stuur een e-mail
EWS - CreateItem SOAP Verouderd
AanmakenItem Berichtbeschikking="VerzendenEnKopieOpslaan"
  xmlns="http://schemas.microsoft.com/.../messages">
  
    
      Hallo van EWS
      <t:Body Lichaamstype="HTML">
        

Berichttekst

to@example.com
Microsoft Graph REST Huidig
POST /mij/e-mailVerzenden
Autorisatie: Bearer {access_token}
Content-Type: application/json

{
  "bericht": {
    "onderwerp": "Hallo van Graph",
    "lichaam": {
      "inhoudstype": "HTML",
      "inhoud": "

Berichttekst

"
}, "AanOntvangers": [ { "e-mailadres": { "adres": "to@example.com" } } ] }, "opslaanInVerzondenItems": true } // Respons: HTTP 202 Geaccepteerd (geen body)
3 Agenda-afspraken ophalen
EWS - ZoekAfspraken SOAP Verouderd
ZoekItem Doorloop="Ondiep">
  
    AlleEigenschappen
  
  <Kalenderweergave
    MaxAantalTeruggegevenItems="50"
    Startdatum="2026-05-01T00:00:00Z"
    Einddatum="2026-05-31T23:59:59Z"
  />
  
    <t:DistinguishedFolderId
      Ik="kalender"/>
  
Microsoft Graph REST Huidig
GET /mij/evenementen
  ?$select=onderwerp,begin,eind,locatie,organisator
  &$filter=start/datumtijd ge '2026-05-01T00:00:00Z'
    en eind/datumTijd '2026-05-31T23:59:59Z'
  &$top=50
  &$orderby=start/dateTime oplopend

Autorisatie: Bearer {access_token}

// Geeft een schone JSON-array van
// agenda-gebeurtenisobjecten - geen XML-parsing
4 Abonneer u op realtime wijzigingen
EWS - Streamingmeldingen Verouderd

  
    
      <t:DistinguishedFolderId
        Ik="postvak"/>
    
    
      NieuweE-mailGebeurtenis
      VerwijderdeGebeurtenis
    
  
Abonneren



Microsoft Graph Webhooks Huidig
POST /abonnementen
Autorisatie: Bearer {access_token}
Content-Type: application/json

{
  "wijzigingstype": "aangemaakt,bijgewerkt,verwijderd",
  "notificatieUrl": "https://jouwapp.com/webhook",
  "bron": "/ik/berichten",
  "vervaldatumTijd": "3 juni 2026 18:00:00 UTC",
  "clientStatus": "jouw-geheime-staat"
}

// Graph POSTs naar jouw URL bij elke wijziging.
Abonnement vernieuwen vóór de vervaldatum.
// Geen persistente verbinding vereist.
Pas op

Veelvoorkomende Vallenkuilen: Rechten, Snelheidslimieten, Throttling

Zelfs ervaren ontwikkelaars met Exchange Web Services lopen regelmatig tegen dezelfde problemen aan bij het migreren naar Microsoft Graph. Deze 6 valkuilen zijn verantwoordelijk voor de meerderheid van de productie-incidenten tijdens de migratie. Begrijp deze nu om later dagen aan debugging te besparen. Voor een breder perspectief op hoe deze uitdagingen zich verhouden tot andere providers, zie onze Vergelijking van e-mail API-providers.

Applicatie- versus gedelegeerde machtigingen
Dit is de meest voorkomende verwarring. Gedelegeerd Permissies treden op namens een ingelogde gebruiker. Toepassing machtigingen fungeren als een service zonder gebruikerscontext - en vereisen beheerdersgoedkeuring.
TypeContextAdmin-toestemming
GedelegeerdGebruiker aangemeldSoms
ToepassingGeen gebruiker / daemonAltijd
Gasklepbeperkingen: HTTP 429 en Retry-After
Microsoft Graph handhaaft een limiet van ongeveer 10.000 aanvragen per 10 minuten per app per tenant. Wanneer er vertraging optreedt, ontvangt u HTTP 429 with a Opnieuw-Proberen-Na header met de wachttijd in seconden. Het negeren van deze header en direct opnieuw proberen resulteert in een langere ban. Implementeer altijd exponentiële backoff met de exacte Retry-After waarde.
Paginering via @odata.nextLink
Grafische paginering van resultaten met een standaard paginagrootte (meestal 10 berichten). Als u niet controleert op @odata.nextLink in de reactie mis je stilzwijgend gegevens. Ga altijd door: als @odata.nextLink is aanwezig, doe nog een GET-verzoek naar die URL (het bevat de overslaan-token) totdat het veld afwezig is.
Admin toestemming voor gevoelige bereiken
Bereiken zoals Mail.ReadWrite.All, Agenda's.LezenSchrijven.Allesen Gebruiker.Lees.Alles vereist dat een tenant-beheerder toestemming verleent voordat een gebruiker uw app kan autoriseren. Zonder toestemming van de beheerder retourneert de OAuth-stroom een AADSTS65001 fout. Gebruik de /beheerderstoestemming eindpunt tijdens app-onboarding voor zakelijke klanten.
Delta query status: deltaLink beheren
Delta queries retourneren wijzigingen sinds uw laatste synchronisatie, geïdentificeerd door een deltaLink token op de laatst bezochte pagina. Sla deze token permanent op - dit is je synchronisatiecursor. Als je deze kwijtraakt, moet je een volledige synchronisatie uitvoeren. Hardcode nooit een tijdsbereik - gebruik de deltaLink om te voorkomen dat je duplicaten of gemiste wijzigingen verwerkt.
Bijlagebeheer: limiet van 3 MB
Bijlagen kleiner dan 3 MB kunnen in één API-aanroep inline worden opgenomen. Voor bestanden groter dan 3 MB moet u eerst een uploadsessie aanmaken.POST /mij/berichten/{id}/bijlagen/createUploadSessionen in stukken uploaden. Een poging om een grote bijlage inline te plaatsen resulteert in een Grote entiteit van het verzoek fout.
Verenigde API-aanpak

Sla de Migratiehoofdpijn Over: Geïntegreerde E-mail API Aanpak

Een volledige EWS-naar-Graph migratie voor een complexe applicatie kost 4 tot 8 weken aan engineeringtijd. Je moet Azure-apps registreren, OAuth-flows implementeren, tokenvernieuwing afhandelen, throttling beheren, elke SOAP-oproep herschrijven, foutafhandeling bijwerken en testen in verschillende omgevingen. En dat dan nog eens opnieuw doen wanneer Microsoft iets verandert.

Unipile abstraheert Microsoft Graph, Gmail en IMAP onder één uniforme API. U authenticeert uw gebruikers eenmalig via Unipile en leest/verstuurt e-mails, synchroniseert agenda's en beheert contacten via alle drie de providers met dezelfde endpoints – geen Azure app-registratie, geen OAuth-flows per provider, geen throttling-logica om te onderhouden. Zie onze Volledige e-mail API-handleiding en e-mail API provider vergelijking om het landschap te begrijpen.

50 regels Microsoft Graph versus 5 regels Unipile

Microsoft Graph - Lees Postvak IN (native) ~50 regels
// 1. Azure app registratie (portal.azure.com)
// 2. OAuth autorisatiecode-stroom
const authUrl = `https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/authorize?`
  + nieuw URLSearchParamsclient_id: CLIENT_ID,
      response_type: 'code',
      redirect_uri: REDIRECT_URI,
      scope: 'Mail.Read offline_access',
      responsmodus: 'query'
    });
// 3. Afhandelen van omleiding, code ruilen voor tokens
const tokenRes = wacht op fetch(`https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/token`, 
  methode: POST,
  body: nieuw URLSearchParamsclient_id: CLIENT_ID, client_secret: CLIENT_SECRET,
    code: authCode, redirect_uri: REDIRECT_URI,
    grant_type: 'autorisatiecode'
  })
});
const { toegang_token, vernieuw_token } = wacht op tokenRes.json();
// 4. Opslaan + vernieuwen van tokens bij verlopen (elk uur)
// 5. Roep Graph aan met Bearer token
const resultaat = wacht op fetch('https://graph.microsoft.com/v1.0/me/messages?$top=10', ,
  headers: { Autorisatie: `Bearer ${access_token}` }
});
// 6. Behandel throttling (HTTP 429 + Retry-After)
als (res.status === 429) {
  const retryAfter = res.headers.krijgen('Opnieuw-na');
  wacht op slaap(herprobeerNa * 1000);
  // opnieuw proberen...
}
// 7. Pagina's via @odata.nextLink
const gegevens = wacht op res.json();
laat berichten = data.waarde;
terwijl (gegevens['@odata.nextLink']) { /* ... */ }
Unipile - Inbox lezen (uniforme API) 5 regels
// Geen Azure app, geen OAuth flows om te implementeren,
// geen throttling-logica, geen tokenvernieuwing.
// Werkt voor Outlook EN Gmail EN IMAP.

const klant = nieuw UnipileClient(API_SLEUTEL);

const berichten = wacht op client.e-mail.lijstBerichten({
  account_id: gebruikersaccountID, gekoppeld account
  map: 'POSTVAK',
  beperken: 10
});

// Zelfde code, zelfde reactieformaat
// voor Outlook, Gmail en IMAP.
// Unipile beheert OAuth, throttling,
// paginering, en token vernieuwing.
SOC 2 type II
GDPR-compliant
CASA Tier 2
99,991% uptime SLA
Outlook + Gmail + IMAP
Stop met het opnieuw bouwen van dezelfde OAuth-functionaliteit.
Lees e-mails, verstuur berichten en synchroniseer agenda’s tussen Outlook, Gmail en IMAP via één enkele API. Unipile neemt de complexe migratie van EWS naar Graph voor zijn rekening, zodat uw team zich kan richten op het ontwikkelen van functies in plaats van op authenticatieprocessen.
Begin met bouwen met Unipile
Unipile - FAQ over Outlook REST API en EWS

Outlook REST API & EWS - Veelgestelde vragen

Veelgestelde vragen over de uitfasering van de Outlook REST API, de beëindiging van EWS en migratie naar Microsoft Graph

Nee. De Outlook REST API (v2.0 en bèta) is door Microsoft stopgezet. Alle verzoeken naar de oude Outlook REST-eindpunten mislukken nu. De officiële vervanging is Microsoft Graph, die alle dezelfde e-mail- en agendafuncties plus nog veel meer omvat. Als uw toepassing nog steeds Outlook REST-eindpunten gebruikt, is migratie naar Graph niet optioneel.

De Outlook REST API was een speciale REST API die alleen Outlook-mailboxbewerkingen omvatte. Microsoft Graph is de uniforme API voor het gehele Microsoft 365-ecosysteem: Outlook-e-mail, agenda, contacten, Teams, SharePoint, OneDrive en meer. Beide maken gebruik van OAuth 2.0-authenticatie, maar Graph gebruikt de enkele basis-URL https://graph.microsoft.com/v1.0 en biedt een consistentere, functierijkere interface dan de stopgezette Outlook-specifieke eindpunten.

Microsoft heeft ingesteld 1 oktober 2026 als de definitieve uiterste datum voor het uitfaseren van EWS in Exchange Online (Microsoft 365). Na deze datum werkt EWS niet meer voor Microsoft 365-mailboxen. Er is geen respijtperiode en er is geen verlenging aangekondigd. EWS blijft wel werken voor lokale Exchange Server-installaties, die niet onder deze deadline vallen.

Microsoft Graph is de officiële vervanging voor EWS. Elke EWS-bewerking heeft een Graph-equivalent: ZoekVoorwerp wordt GET /mij/berichten, MaakItem (e-mail verzenden) POST /mij/e-mailVerzenden, streaming meldingen worden Graph webhooks via POST /abonnementen. Authenticatie verandert van NTLM/Kerberos/Basic Auth naar OAuth 2.0 via Azure AD. Voor teams die een eenvoudigere route nodig hebben, een geünificeerde e-mail API zoals Unipile abstractt alle drie de providers onder één SDK.

Nee. De Outlook REST API v2.0 is buiten gebruik gesteld. Aanvragen naar die eindpunten mislukken met fouten. Microsoft Graph is het enige ondersteunde pad voor integratie van Outlook e-mail en agenda. Alle nieuwe integraties moeten gericht zijn op https://graph.microsoft.com/v1.0 en gebruik OAuth 2.0-authenticatie.

De inspanning is afhankelijk van de complexiteit van uw EWS-implementatie. Een eenvoudige integratie met een paar lees-/schrijfbewerkingen duurt doorgaans 1-2 weken. Een complexe applicatie met streamingmeldingen, delta synchronisatie, meerdere mapbewerkingen en uitgebreide foutafhandeling kan 4-8 weken duren. De migratie vereist: Azure AD app registratie, OAuth 2.0 implementatie, endpoint-voor-endpoint vervanging, throttling logica, paginering updates en wijzigingen in foutformaten. Een alternatief is om Unipile's Microsoft Graph-abstractie, die het grootste deel van deze complexiteit automatisch afhandelt.

De deadline van oktober 2026 is specifiek voor Exchange Web Services (EWS) gebruik in Exchange Online. Voor Outlook-invoegtoepassingen die gebruikmaken van de Office.js-API geldt een apart tijdschema. Microsoft is echter bezig met het uitfaseren van verouderde COM- en VSTO-invoegtoepassingen ten gunste van webgebaseerde Office-invoegtoepassingen. Als uw invoegtoepassing intern EWS-aanroepen doet, zullen deze aanroepen in oktober 2026 niet meer werken, ongeacht het framework van de invoegtoepassing. Raadpleeg de Microsoft 365-roadmap voor de meest recente richtlijnen die specifiek zijn voor uw type invoegtoepassing.

Nu de Outlook REST API is stopgezet, zijn de relevante bereiken voor Microsoft Graph. Kern e-mail scopes: Mail.lezen (berichten lezen), Mail.verzenden (e-mail verzenden), Mail.ReadWrite (berichten lezen en wijzigen), Agenda's.LezenSchrijven (toegang tot agenda), Contacten.Lezen (contacten). Altijd inbegrepen offline_access om een vernieuwingstoken te ontvangen. Toepassingsniveau-scopes zoals Mail.ReadWrite.All toestemming van de tenantbeheerder vereisen en mag alleen worden gebruikt voor daemon-scenario's zonder gebruikerscontext. Zie onze Microsoft Graph OAuth-gids voor een complete installatieworkthrough.

Microsoft Graph dwingt snelheidsbeperkingen af met ongeveer 10.000 verzoeken per 10 minuten per applicatie per tenant. Wanneer er voor de API te veel verzoeken worden gedaan, retourneert deze HTTP 429 Te veel verzoeken with a Opnieuw-Proberen-Na header die het exacte aantal seconden specificeert om te wachten. De kritische regel: geef altijd gehoor aan de Opnieuw-Proberen-Na exacte waarde. Opnieuw proberen voordat dat venster sluit, verlengt de throttling-periode. Voor multi-tenant SaaS-applicaties waar elke tenant afzonderlijke limieten heeft, heeft throttling bij de ene tenant geen invloed op andere. Vergelijk ook IMAP als alternatief als throttling op schaal een zorg is.

Unipile is een unificerende e-mail-API dat omvat Microsoft Graph, Gmail en IMAP onder één SDK. In plaats van Microsoft Graph OAuth-stromen te implementeren, toegangstokens te beheren, throttling af te handelen en code per provider te schrijven, verbind je de accounts van je gebruikers via Unipile en gebruik je één consistente API voor alle drie de providers. Dit is met name effectief voor SaaS-applicaties die Outlook en Gmail tegelijkertijd moeten ondersteunen zonder afzonderlijke integratiecode voor elke te onderhouden. Unipile functioneert als een onafhankelijke technische tussenpersoon, handelt namens elke geauthenticeerde gebruiker en is niet gelieerd aan of goedgekeurd door Microsoft.

Sla de EWS-migratie volledig over. Ons team staat voor u klaar.

Nu bouwen
nl_NLNL