![]() |
Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(PowerShell) Microsoft Teams OAuth2 Client Credentials AuthenticationSee more Microsoft Teams ExamplesDemonstrates how to authenticate with OAuth 2.0 using the client credentials grant type.Note: This example uses the new "Integrated OAuth2 Client Credentials" feature introduced in Chilkat v9.5.0.96.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll" # This requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $http = New-Object Chilkat.Http # Provide the information needed for Chilkat to automatically fetch the OAuth2.0 # access token as needed. # This is the new "Integrated OAuth2 Client Credentials" feature introduced in Chilkat v9.5.0.96. $jsonOAuthCC = New-Object Chilkat.JsonObject # -------------------------------------------------------------------------------------------------------- # You'll need to have registered an app in Azure beforehand. # # Note: Creating a Team requires the following Application permissions: # Team.Create, Teamwork.Migrate.All, Group.ReadWrite.All**, Directory.ReadWrite.All** # # See How to Create an Azure App Registration for OAuth 2.0 Client Credentials # -------------------------------------------------------------------------------------------------------- # Use the values from your App Registration in Azure. $jsonOAuthCC.UpdateString("client_id","e1cd2318-xxxx-4916-bfd6-xxxxxxxxxxxx") $jsonOAuthCC.UpdateString("client_secret","K.d8Q~RoJxxxxvCj_u_xxxxxxxxxxxxxxxxxxxxx") # You'll always use this scope for client credentials, because the allowed actions # are determined by the App Permissions defined when you registered the app in Azure. $jsonOAuthCC.UpdateString("scope","https://graph.microsoft.com/.default") # The token endpoint includes your tenant ID. Use your tenant ID (not the tenant ID shown here). $jsonOAuthCC.UpdateString("token_endpoint","https://login.microsoftonline.com/112d7ed6-71bf-4eba-a866-738364321bfc/oauth2/v2.0/token") # Provide the OAuth2 information. Chilkat will use this information to automatically fetch the OAuth2 access token as needed, $http.AuthToken = $jsonOAuthCC.Emit() # ------------------------------------------------------------------------------ # To create a Microsoft Team, we want to send an HTTP request like the following: # # Note: The following is the minimal JSON for a request using Applicaton permissions (i.e. the access token retrieved using the client credentials grant). # # POST https://graph.microsoft.com/v1.0/teams # Content-Type: application/json # # { # "template@odata.bind":"https://graph.microsoft.com/v1.0/teamsTemplates('standard')", # "displayName":"My Sample Team", # "description":"My Sample Team�s Description", # "members":[ # { # "@odata.type":"#microsoft.graph.aadUserConversationMember", # "roles":[ # "owner" # ], # "user@odata.bind":"https://graph.microsoft.com/v1.0/users('0040b377-61d8-43db-94f5-81374122dc7e')" # } # ] # } $json = New-Object Chilkat.JsonObject $json.UpdateString("`"template@odata.bind`"","https://graph.microsoft.com/v1.0/teamsTemplates('standard')") $json.UpdateString("displayName","My Sample Team") $json.UpdateString("description","My Sample Team�s Description") $json.UpdateString("members[0].`"@odata.type`"","#microsoft.graph.aadUserConversationMember") $json.UpdateString("members[0].roles[0]","owner") $json.UpdateString("members[0].`"user@odata.bind`"","https://graph.microsoft.com/v1.0/users('4ee732c3-322e-4a6b-b729-2fd1eb5c6004')") $json.EmitCompact = $false $($json.Emit()) $http.SetRequestHeader("Content-type","application/json") $resp = $http.PostJson3("https://graph.microsoft.com/v1.0/teams","application/json",$json) if ($http.LastMethodSuccess -eq $false) { $($http.LastErrorText) exit } # A successful response is indicated by a 202 response status code and an empty response body. $("Response Status Code: " + $resp.StatusCode) $("Response Body:") $($resp.BodyStr) if ($resp.StatusCode -ge 400) { $("Response Header:") $($resp.Header) $("Failed.") } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.