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) Azure REST API Access TokenDemonstrates how to request an Azure REST API OAUTH2 access token. Note: In order to access resources a Service Principal needs to be created in your Tenant. It is really convenient to do it via AZ CLI: az ad sp create-for-rbac --name [APP_NAME] --password [CLIENT_SECRET]
Use ChilkatAx-win32.pkg Procedure Test Handle hoRest Boolean iBTls Integer iPort Boolean iBAutoReconnect Boolean iSuccess String sStrResponseBody Integer iRespStatusCode Handle hoJson String sTemp1 Integer iTemp1 Boolean bTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatRest)) To hoRest If (Not(IsComObjectCreated(hoRest))) Begin Send CreateComObject of hoRest End // URL: https://login.microsoftonline.com/TENANT_ID/oauth2/token Move True To iBTls Move 443 To iPort Move True To iBAutoReconnect Get ComConnect Of hoRest "login.microsoftonline.com" iPort iBTls iBAutoReconnect To iSuccess If (iSuccess <> True) Begin Get ComConnectFailReason Of hoRest To iTemp1 Showln "ConnectFailReason: " iTemp1 Get ComLastErrorText Of hoRest To sTemp1 Showln sTemp1 Procedure_Return End // Add query params to the request. Get ComAddQueryParam Of hoRest "grant_type" "client_credentials" To iSuccess Get ComAddQueryParam Of hoRest "client_id" "APP_ID" To iSuccess Get ComAddQueryParam Of hoRest "client_secret" "CLIENT_SECRET" To iSuccess // Note: The resource must match the API for which you're using the access token.. Get ComAddQueryParam Of hoRest "resource" "https://management.azure.com/" To iSuccess Get ComFullRequestFormUrlEncoded Of hoRest "POST" "/TENANT_ID/oauth2/token" To sStrResponseBody Get ComLastMethodSuccess Of hoRest To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoRest To sTemp1 Showln sTemp1 Procedure_Return End Get ComResponseStatusCode Of hoRest To iRespStatusCode If (iRespStatusCode >= 400) Begin Showln "Response Status Code = " iRespStatusCode Showln "Response Header:" Get ComResponseHeader Of hoRest To sTemp1 Showln sTemp1 Showln "Response Body:" Showln sStrResponseBody Procedure_Return End Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComLoad Of hoJson sStrResponseBody To iSuccess Set ComEmitCompact Of hoJson To False Get ComEmit Of hoJson To sTemp1 Showln sTemp1 // The result is an access token such as the following: // { // "token_type": "Bearer", // "expires_in": "3600", // "ext_expires_in": "3600", // "expires_on": "1557864616", // "not_before": "1557860716", // "resource": "https://management.azure.com/", // "access_token": "eyJ0eXAiOiJKV1QiL ... 20UFDDOHEyUg" // } // We'll save this JSON to a file for other examples to use.. Get ComWriteFile Of hoJson "qa_data/tokens/azureToken.json" To iSuccess End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.