Wie ooit een script heeft laten lopen om bestanden in SharePoint te doorzoeken, te kopiëren of te synchroniseren, is er misschien al eens tegenaan gelopen: plots lopen de aanvragen vast en krijg je foutmeldingen terug in plaats van resultaten. Ben je lesmateriaal aan het kopiëren of met 3 browsers gewoon hyper efficiënt aan het werken in SharePoint. En plots krijg je een witte pagina.
Microsoft noemt dit throttling, en het is geen bug, maar een bewuste beveiliging van de dienst.

Wat is throttling precies?
SharePoint Online beperkt het aantal API-aanroepen en bewerkingen die je binnen een bepaald tijdsvenster mag uitvoeren. Zo blijft de dienst snel en betrouwbaar voor iedereen, ook wanneer een individuele toepassing plots veel te veel aanvragen afvuurt.
Overschrijd je die limiet, dan reageert SharePoint Online op twee manieren. Werk je rechtstreeks in de browser, dan word je doorgestuurd naar een waarschuwingspagina en mislukt je actie. Werk je via Microsoft Graph, CSOM of REST, dan krijg je een foutcode 429 ("Too many requests") of 503 ("Server Too Busy") terug. Bij beide foutcodes stuurt SharePoint een Retry-After-header mee, die aangeeft hoe lang je moet wachten vooraleer je opnieuw mag proberen. Belangrijk om te weten: ook geweigerde aanvragen tellen mee voor je quotum. Negeer je die wachttijd, dan loop je het risico om nog strenger afgeremd te worden.
Blijft een toepassing de limieten structureel overschrijden, dan kan Microsoft ze volledig blokkeren. De toepassing krijgt dan enkel nog foutcode 503 te zien, en de tenant wordt hiervan op de hoogte gebracht via het Berichtencentrum van Office 365.
Wie loopt het meeste risico?
oor een gewone gebruiker die interactief werkt in SharePoint is throttling zeldzaam. In de meeste gevallen gaat het om aangepaste code: eigen webonderdelen, complexe lijstweergaven, synchronisatietools of scripts die grote hoeveelheden data verwerken. Ook het gelijktijdig laten lopen van meerdere synchronisatieprocessen op verschillende toestellen kan al voldoende zijn om tegen een limiet aan te lopen.
Microsoft hanteert daarbij limieten op verschillende niveaus: per gebruiker, per tenant en per toepassing. Een gebruiker mag bijvoorbeeld maximaal 3.000 aanvragen per vijf minuten doen, terwijl toepassingen binnen een tenant een quotum aan resource-eenheden krijgen dat afhangt van het aantal licenties. Piekuren op kantoor of school verhogen bovendien de kans op vertraging, terwijl 's nachts en in het weekend doorgaans meer ruimte is.
Hoe vermijd je throttling?
Microsoft geeft enkele concrete aanbevelingen mee voor wie zelf toepassingen bouwt of beheert die met SharePoint praten:
- Beperk het aantal gelijktijdige aanvragen en vermijd plotse pieken in verkeer.
- Kies waar mogelijk voor Microsoft Graph in plaats van CSOM of REST. Graph is de nieuwste API en verbruikt doorgaans minder resources voor dezelfde bewerking.
- Houd rekening met de Retry-After-header en de nieuwere RateLimit-headers, die vroegtijdig laten zien hoe dicht je bij je limiet zit.
- Zorg dat je verkeer herkenbaar is: registreer een AppID en AppTitle voor je toepassing en voeg een correcte User-Agent-string toe. Onherkenbaar verkeer krijgt minder voorrang dan verkeer dat zich netjes identificeert.
- Gebruik voor het scannen van grote hoeveelheden bestanden bij voorkeur delta-aanvragen met een token. Dat is niet alleen efficiënter, het kost ook minder resource-eenheden per aanroep.
En als het toch misgaat?
Krijg je als school of organisatie een blokkering, dan is dat het gevolg van langdurig, structureel te veel verkeer. Microsoft laat dit altijd weten via het Berichtencentrum, met uitleg over de oorzaak en over wie je moet contacteren om de blokkering weer op te heffen.
Voor scholen die zelf tools of scripts laten draaien tegen SharePoint of OneDrive, bijvoorbeeld voor rapportering, back-up of automatisatie, is het dus de moeite waard om even na te gaan of die aan de aanbevelingen van Microsoft voldoen. Zo vermijd je dat een handig hulpmiddel plots voor iedereen in de organisatie voor vertraging zorgt.
Meer informatie:
Avoid getting throttled or blocked in SharePoint Online | Microsoft Learn