Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Microsoft Graph OAuth2 Client Credentials Grant FlowDemonstrates how to get a Microsoft Graph access token using the Client Credentials Grant Flow. You can use the OAuth 2.0 client credentials grant specified in RFC 6749, sometimes called two-legged OAuth, to access web-hosted resources by using the identity of an application. This type of grant is commonly used for server-to-server interactions that must run in the background, without immediate interaction with a user. These types of applications are often referred to as daemons or service accounts. For more information, see https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Variant vReq Handle hoReq String sUrl Variant vResp Handle hoResp Integer iStatusCode Handle hoJson Boolean iSuccess String sTemp1 Boolean bTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End Get Create (RefClass(cComChilkatHttpRequest)) To hoReq If (Not(IsComObjectCreated(hoReq))) Begin Send CreateComObject of hoReq End Send ComAddParam To hoReq "client_secret" "CLIENT_SECRET" Send ComAddParam To hoReq "client_id" "CLIENT_ID" // Don't know if the scopes valid for the client credentials grant are different than the scopes for the 3-legged Authorization Code Grant... Send ComAddParam To hoReq "scope" "https://graph.microsoft.com/.default" Send ComAddParam To hoReq "grant_type" "client_credentials" // Use your own tenant ID, for example 4d8fdd66-66d1-43b0-ae5c-e31b4b7de5cd Move "https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token" To sUrl Get pvComObject of hoReq to vReq Get ComPostUrlEncoded Of hoHttp sUrl vReq To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get ComStatusCode Of hoResp To iStatusCode Showln "Response status code = " iStatusCode Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComBodyStr Of hoResp To sTemp1 Get ComLoad Of hoJson sTemp1 To iSuccess Send Destroy of hoResp Set ComEmitCompact Of hoJson To False Get ComEmit Of hoJson To sTemp1 Showln sTemp1 // Sample successful output: // { // "token_type": "Bearer", // "expires_in": 3599, // "ext_expires_in": 3599, // "access_token": "eyJ0eX...K0jOERg" // } If (iStatusCode = 200) Begin Get ComWriteFile Of hoJson "qa_data/tokens/msGraphClientCredentialsToken.json" To iSuccess Showln "Success." End Else Begin Showln "Failed." End End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.