Google Drive-koppeling: methode en functionele achtergrond
De Google Drive-koppeling geeft i-Reserve een bestandsmanager bovenop een Google Drive-account van de klant zelf. Gebruikers met de juiste rechten kunnen vanuit i-Reserve documenten per entiteit (klant, boeking, bedrijf, evenement of object) bekijken, uploaden, hernoemen, verplaatsen, kopiëren en verwijderen. De koppeling gebruikt de Google Drive API v3.
Belangrijk: interactief, niet event-gestuurd
Anders dan de agenda-koppelingen kent de Drive-koppeling geen automatische triggers op boekingsstatussen. Er worden dus niet vanzelf bestanden aangemaakt bij een statuswijziging. De koppeling is interactief: bestanden worden beheerd via de bestandsmanager (een dashboardblok / UI-component) die rechtstreeks de Drive-bewerkingen uitvoert.
Authenticatie
Gedelegeerde OAuth 2.0 (authorization-code-flow) met de scope https://www.googleapis.com/auth/drive. De klant levert een eigen OAuth-client, zodat alleen diens eigen Drive-account benaderd wordt. i-Reserve bewaart access_token + refresh_token en ververst die automatisch (bij een 401). Vervalt het refresh-token (bv. ingetrokken toestemming), dan is opnieuw verbinden nodig.
Mappenstructuur per entiteit
De koppeling maakt en gebruikt een mappenstructuur op basis van een instelbaar patroon, bijvoorbeeld {context}/{itemname} (#{itemid}) — wat resulteert in mappen als customer/Jan Jansen (#1234) of booking/Ochtendslot (#567). De resolutie van entiteit → Drive-map-id wordt gecachet zodat niet elke keer opnieuw gezocht hoeft te worden; een beheerder kan een map ook handmatig vastpinnen (override). Optioneel worden ontbrekende mappen automatisch aangemaakt bij eerste gebruik.
Wat de bestandsmanager kan
- Mappen en bestanden lijsten, thumbnails tonen, bestanden downloaden/streamen.
- Mappen aanmaken, hernoemen, verwijderen (naar prullenbak).
- Bestanden uploaden, hernoemen, verplaatsen, kopiëren, verwijderen.
- Een deelbare (publieke) link genereren.
Elke bewerking is rechten-gestuurd (lezen / aanmaken / verwijderen per entiteit-type).
Beperkingen
- CRM-module vereist: zonder de CRM-licentiemodule is de koppeling niet beschikbaar.
- Google-native bestanden (Docs/Sheets/Slides,
.gdoc/.gsheet) kunnen niet geüpload worden — dat zijn verwijzingen, geen echte bestanden. Verplaats Google Docs binnen Drive zelf. - Bestanden leven in de Drive-identiteit van de koppeling; openen gebeurt via de Drive web-link, downloads/thumbnails lopen via de OAuth-token van de koppeling.
- De redirect-URI moet exact overeenkomen met wat in het Google-project is geregistreerd.





