Results 1 to 7 of 7

Thread: office365 API vanuit service applicatie

  1. #1

    office365 API vanuit service applicatie

    Hallo hallo,

    Vanuit mijn service applicatie zou ik graag verbinding willen maken met de office365 API zonder dat er steeds ingelogd hoeft te worden(wel zo makkelijk bij een service) . Is dit mogelijk met de office365 API?

    Bij voorbaat dank!

  2. #2
    Ik neem aan dat het bij Office365 nét zo'n beetje hetzelfde gaat als bij de Google API.
    Je moet dus één keer toestemming vragen van de gebruiker waarna je een access_token (en refresh_token wanneer de access_token verlopen is) krijgt die je kunt gebruiken bij de communicatie met de API.

    https://msdn.microsoft.com/en-us/off...pment-overview

    (Voor Google heb je ook nog Service to Service access maar ik neem aan dat je die niet bedoeld.)

  3. #3
    Het is me niet helemaal duidelijk wat ik met die refresh token moet doen / waar het goed voor is. Moet ik de de access token vervangen door de refesh token op het moment dat de access token verlopen is?

  4. #4
    Nee, je moet een access_token hebben om de communicatie te doen.
    Als je die niet hebt, of degene die je hebt is verlopen, dan kun je een nieuwe access_token aanvragen met een refresh_token.

    Je krijgt meestal (in ieder geval bij Google) bij het aanvragen van een refresh_token ook gelijk een access_token mee.
    Maar de access_token is beperkt geldig (een paar uur) dus je moet de refresh_token dan bewaren en gebruiken om de volgende keer weer een nieuwe access_token aan te vragen.

    Dus samenvattend:
    1. Heb je een access_token... prima, gebruiken.
      Blijkt deze bij communicatie niet goed of verlopen dan... volgende stap.
    2. Heb je een refresh_token (zou wel moeten)... prima, gebruik deze dan om een nieuwe access_token aan te vragen en ga naar stap 1.
    3. Heb je geen refresh_token dan moet je die aanvragen met een authorisatie-code.
      Die authorisatie-code kun je alleen krijgen door interactief toestemming aan de gebruiker te vragen via de browser. Je hebt dan wel de codes voor een geregistreerde app nodig (dus je moet dus even bij Azure AD registreren). Heb je eenmaal de authorisatie-code dan kun je dus je refresh_token aanvragen waarbij je ook gelijk je eerste access_token krijgt zodat je weer verder kunt met stap 1. (vergeet niet de refresh_token op te slaan zodat je die weer kunt gebruiken in stap 2 wanneer je access_token verlopen is)

    Het één en ander heb ik in Lazarus-code staan in google_oauth2.pas
    https://github.com/rvk01/google-oauth2
    (binnenkort wordt een Delphi-compatible versie geupload maar dit is dus voor de Google API maar zou bij Office365 ongeveer hetzelfde moeten werken, denk ik)

  5. #5
    Volgens mij begrijp ik het nu en werkt het bij office 365 net zo. Nu nog even kijken of ik het ook echt aan de praat krijg.

    Veranderd die refresh token ook van tijd tot tijd of is dat een constante?

  6. #6
    De refresh_tokens van Google API blijven onbeperkt geldig (tot het moment dat de gebruiker de toegang voor een applicatie terugtrekt).

    En op het moment dat bij het aanvragen van een nieuwe access_token dus blijkt dat de refresh_token ongeldig is geworden dien je weer opnieuw toegang van de gebruiker te vragen.

    Name:  webflow.png
Views: 436
Size:  9.4 KB

  7. #7
    Ontzettend bedankt voor je heldere uitleg het is me helemaal duidelijk!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •