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
(Tcl) UPS OAuth2 Client CredentialsSee more UPS ExamplesGet an OAuth2 access token for the UPS REST API using the client credentials flow (no interactivity with a web browser required). For more information, see https://developer.ups.com/api/reference?loc=en_US#tag/OAuthClientCredentials_other
load ./chilkat.dll # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set http [new_CkHttp] # Implements the following CURL command: # curl -i -X POST \ # -u 2498righ8wr6aihe98rt8rhowirtyw9er6twe80rtywrehrt:nerf254578uh8rgt7y3h57358ouyth387h8h53h6yyh80hh578per9y7u5ruyuy4 \ # https://wwwcie.ups.com/security/v1/oauth/token \ # -H 'Content-Type: application/x-www-form-urlencoded' \ # -H 'x-merchant-id: 7B3027' \ # -d grant_type=client_credentials # Use the following online tool to generate HTTP code from a CURL command # Convert a cURL Command to HTTP Source Code CkHttp_put_BasicAuth $http 1 CkHttp_put_Login $http "2498righ8wr6aihe98rt8rhowirtyw9er6twe80rtywrehrt" CkHttp_put_Password $http "nerf254578uh8rgt7y3h57358ouyth387h8h53h6yyh80hh578per9y7u5ruyuy4" set req [new_CkHttpRequest] CkHttpRequest_AddParam $req "grant_type" "client_credentials" CkHttpRequest_AddHeader $req "x-merchant-id" "7B3027" # resp is a CkHttpResponse set resp [CkHttp_PostUrlEncoded $http "https://wwwcie.ups.com/security/v1/oauth/token" $req] if {[CkHttp_get_LastMethodSuccess $http] == 0} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkHttpRequest $req exit } set sbResponseBody [new_CkStringBuilder] CkHttpResponse_GetBodySb $resp $sbResponseBody set jResp [new_CkJsonObject] CkJsonObject_LoadSb $jResp $sbResponseBody CkJsonObject_put_EmitCompact $jResp 0 puts "Response Body:" puts [CkJsonObject_emit $jResp] set respStatusCode [CkHttpResponse_get_StatusCode $resp] puts "Response Status Code = $respStatusCode" if {$respStatusCode >= 400} then { puts "Response Header:" puts [CkHttpResponse_header $resp] puts "Failed." delete_CkHttpResponse $resp delete_CkHttp $http delete_CkHttpRequest $req delete_CkStringBuilder $sbResponseBody delete_CkJsonObject $jResp exit } delete_CkHttpResponse $resp # Save the OAuth2 access token for other examples to use. CkJsonObject_WriteFile $jResp "qa_data/tokens/ups_oauth2_token.json" # If successful, the OAuth2 access token JSON looks like this: # { # "token_type": "Bearer", # "issued_at": "1686911985606", # "client_id": "2498righ8wr6aihe98rt8rhowirtyw9er6twe80rtywrehrt", # "access_token": "eyJraW......R2sbqrY", # "expires_in": "14399", # "status": "approved" # } set token_type [CkJsonObject_stringOf $jResp "token_type"] set issued_at [CkJsonObject_stringOf $jResp "issued_at"] set client_id [CkJsonObject_stringOf $jResp "client_id"] set access_token [CkJsonObject_stringOf $jResp "access_token"] set expires_in [CkJsonObject_stringOf $jResp "expires_in"] set status [CkJsonObject_stringOf $jResp "status"] delete_CkHttp $http delete_CkHttpRequest $req delete_CkStringBuilder $sbResponseBody delete_CkJsonObject $jResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.