How To Access Microsoft Teams Graph API In PowerShell

Graph API can be used to automate the Microsoft Teams lifecycle such as creating teams, channels, adding members etc.
 
Refer to this link to see the list of Graph API’s available for Microsoft Teams.
 
You will see how to retrieve all the teams by calling Graph API in PowerShell.
 
See how to list all teams here.
 
In this article, you will see how to perform the following tasks,
  • Register an Application in Azure -- Register an app in Azure AD and add the required permissions to access the Graph API.
  • Create and execute the PowerShell script

Register an application in Azure

 
Register an application in Azure AD to access the Teams Graph API.
  1. Navigate to Azure portal.
  2. Search for App Registrations. Click App Registrations as show below.

    How To Access Microsoft Teams Graph API In PowerShell
  1. Click New Registration.

    How To Access Microsoft Teams Graph API In PowerShell
  1. Enter the Name and click Register.

    How To Access Microsoft Teams Graph API In PowerShell
  1. App is registered successfully. In the left navigation, click API Permissions.

    How To Access Microsoft Teams Graph API In PowerShell
  1. Click Add a permission.

    How To Access Microsoft Teams Graph API In PowerShell
  1. Select Microsoft Graph API as shown below.

    How To Access Microsoft Teams Graph API In PowerShell
  1. Click Application Permissions.

    How To Access Microsoft Teams Graph API In PowerShell
  1. Select Read.All permissions and click Add permissions.

    How To Access Microsoft Teams Graph API In PowerShell
  1. Click Grant admin consent.

    How To Access Microsoft Teams Graph API In PowerShell

    How To Access Microsoft Teams Graph API In PowerShell
  1. In the left navigation, click Overview. Copy the Application (client) ID value. This value will be used in PowerShell for authentication.

    How To Access Microsoft Teams Graph API In PowerShell
  1. In the left navigation, click Certificates & secrets. Click New client secret.

    How To Access Microsoft Teams Graph API In PowerShell
  1. Enter the description and click Add.

    How To Access Microsoft Teams Graph API In PowerShell
  1. Copy the secret value which will be used in PowerShell for authentication.

    How To Access Microsoft Teams Graph API In PowerShell

Create and execute the PowerShell script

  1. Open Notepad and paste the following code. Save the file as ps1.
    1. # Input Parameters  
    2. $clientId = "c714f180-c8cc-4f70-b720-409c798274a9"  
    3. $clientSecret = "fXzmWCUDmeXXqQ@D3b4xxd6GzrAY5[@="  
    4. $tenantName = "c986.onmicrosoft.com"  
    5. $resource = "https://graph.microsoft.com/"  
    6. $URL = "https://graph.microsoft.com/beta/groups?`$filter=resourceProvisioningOptions/Any(x:x eq 'Team')"  
    7.   
    8. $tokenBody = @{  
    9.     Grant_Type    = "client_credentials"  
    10.     Scope         = "https://graph.microsoft.com/.default"  
    11.     Client_Id     = $clientId  
    12.     Client_Secret = $clientSecret  
    13. }   
    14.   
    15. $tokenResponse = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantName/oauth2/v2.0/token" -Method POST -Body $tokenBody  
    16. $result = Invoke-RestMethod -Headers @{Authorization = "Bearer $($tokenResponse.access_token)"} -Uri $URL -Method Get  
    17. ($result | select-object Value).Value | Select-Object id, displayName, visibility  
  1. Open PowerShell window. Navigate to the folder path where the script file is saved.
  2. Execute the following script.

    .\ListAllTeams.ps1

    How To Access Microsoft Teams Graph API In PowerShell

Summary

 
Thus, in this article, you saw how to access Microsoft Teams Graph API in PowerShell.