Terug naar lijst

Steeds meer bedrijven integreren de mogelijkheden van Microsoft Teams in hun operationele processen. In een data gedreven organisatie zijn er meerdere scenario’s denkbaar waarbij je automatische chatberichten wilt plaatsen om teamleden te informeren of attenderen op actuele onderwerpen. Microsoft Teams heeft met de Graph Api connectoren beschikbaar waarmee dit mogelijk is. In deze blog leg ik de stappen uit hoe je van deze API gebruik kunt maken.

Registratie van een App

De eerste stap is om in de portal van Azure een app te registreren. In de portal kunnen aan deze app de juiste machtigingen worden toegekend om via de Graph Api de gebruikers te authentiseren en de juiste endpoints aan te roepen om Chat berichten te kunnen plaatsen.

Ga hiervoor in de Azure Portal naar de service Azure Active Directory

Ga vervolgens naar App registratie en kies voor Nieuwe registratie:

Geef de App een toepasselijke naam en stel ook de Omleidings URI (redirect URI) in. De redirect URI heb je later nodig om de Autorisatie code op te halen.

In het onderdeel Overzicht vind je de client-id en de tenant-id.

Deze heb je later nodig om de API aan te kunnen roepen.

Kies nu voor API machtigingen en voor ‘Een machtiging toevoegen’ om aan de nieuwe app de juiste machtigingen toe te voegen.

Stel de volgende machtigingen in:

De app staat nu helemaal klaar om gebruikt te worden!

Autorisatie code opvragen

De volgende stap is het opvragen van een autorisatiecode.

Ga in een browser hiervoor naar de volgende url:

https://login.microsoftonline.com/{tenant-id}/oauth2/authorize?client_id={client-id}&response_type=code&redirect_uri={redirect-URI}&resource=https://graph.microsoft.com/

In deze URL moeten drie variabelen worden ingevuld die in de eerste stap bij het registreren van de app zijn aangemaakt:

  • Tenant ID
  • Client ID
  • Redirect URI

Log in met een gebruiker namens wie de Chat berichten moeten worden geplaatst.

Microsoft toont vervolgens een pop up waarin toestemming aan de app wordt verleend om acties namens de gebruiker uit te voeren. In dit overzicht staan de machtigingen die in een eerdere stap aan de app zijn toegekend.

Nadat akkoord is gegeven word je doorgeleid naar de ingestelde redirect URI.
In deze URI is de Autorisatie code opgenomen die we nodig hebben.

https://www.smartinsight.nu/?ReturnUrl=%2F%3Fcode%3DAQA…%26session_state%3D923

Zoek het onderdeel in de URL op waar code staat en kopieer de code na %3D toe aan %26.

Autorisatie token opvragen

De autorisatie code kan gebruikt worden om een access token op te vragen.

In deze blog gebruiken we hiervoor de applicatie Postman.

Maak een POST request aan naar de volgende URL:

https://login.microsoftonline.com/[tenant ID]/oauth2/v2.0/token

Vul op de juiste plaats jouw Tenant ID op.

Gebruik de volgende header:

  • Content Type = application/x-www-form-urlencoded

Gebruik in de body de volgende waardes:

Als alles goed gaat, is het resultaat van dit request een access token!

Het access token heb je nodig om de volgende stappen uit te voeren.

Juiste ID’s ophalen

Alle elementen in Teams zijn herkenbaar aan ID’s. Deze unieke identifiers kunnen gebruikt worden om in het juiste kanaal een chat bericht te plaatsen.

We hebben de volgende ID’s nodig:

  • User ID
  • Team ID
  • Channel ID

In de GET requests gebruiken we de volgende headers:

Gebruik het access token uit de vorige stap.

Achtereenvolgens kunnen we hiervoor de volgende GET endpoints gebruiken waarbij we elke keer het access token als autorisatie kunnen gebruiken:

Posten van een Chat message

We hebben nu alle informatie om een bericht te posten in een Channel.

We maken hiervoor een POST request aan naar het volgende endpoint:

https://graph.microsoft.com/beta/teams/[TEAM ID]/channels/[CHANNEL ID]/messages

Vul op de juiste plaats het Team ID en Channel ID in.

In de body gebruiken we het volgende bericht in JSON formaat om het bericht te plaatsen:

Zoals je ziet is het zelfs mogelijk om een specifieke gebruiker te ‘mentionnen’. Maar je kunt ook alleen de body gebruiken met het bericht in het “content” element.

Afsluiting

In deze blog is laten zien hoe je met behulp van Microsoft Graph kunt integreren met Microsoft Teams tot op het niveau van het plaatsen van Chat berichten in specifieke channels.

De Microsoft Graph API heeft nog veel meer mogelijkheden. Via de volgende link is meer informatie te vinden: https://docs.microsoft.com/en-us/graph/