B4X
B4X
UPS OAuth2 Client Credentials
See more UPS Examples
Get an OAuth2 access token for the UPS REST API using the client credentials flow (no interactivity with a web browser required).Chilkat B4X Downloads
Dim success As Boolean = False
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As ChilkatHttp
http.Initialize("http")
' 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
http.BasicAuth = True
http.Login = "2498righ8wr6aihe98rt8rhowirtyw9er6twe80rtywrehrt"
http.Password = "nerf254578uh8rgt7y3h57358ouyth387h8h53h6yyh80hh578per9y7u5ruyuy4"
Dim req As ChilkatHttpRequest
req.Initialize
req.AddParam("grant_type", "client_credentials")
req.AddHeader("x-merchant-id", "7B3027")
req.HttpVerb = "POST"
req.ContentType = "application/x-www-form-urlencoded"
Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpReq("https://wwwcie.ups.com/security/v1/oauth/token", req, resp)
If success = False Then
Log(http.LastErrorText)
Return
End If
Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
resp.GetBodySb(sbResponseBody)
Dim jResp As ChilkatJsonObject
jResp.Initialize
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False
Log("Response Body:")
Log(jResp.Emit)
Dim respStatusCode As Int = resp.StatusCode
Log("Response Status Code = " & respStatusCode)
If respStatusCode >= 400 Then
Log("Response Header:")
Log(resp.Header)
Log("Failed.")
Return
End If
' Save the OAuth2 access token for other examples to use.
jResp.WriteFile("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"
' }
Dim token_type As String = jResp.StringOf("token_type")
Dim issued_at As String = jResp.StringOf("issued_at")
Dim client_id As String = jResp.StringOf("client_id")
Dim access_token As String = jResp.StringOf("access_token")
Dim expires_in As String = jResp.StringOf("expires_in")
Dim status As String = jResp.StringOf("status")