|  | 
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
| (C) 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).Note: This example requires Chilkat v11.0.0 or greater. For more information, see https://developer.ups.com/api/reference?loc=en_US#tag/OAuthClientCredentials_other 
 #include <C_CkHttp.h> #include <C_CkHttpRequest.h> #include <C_CkHttpResponse.h> #include <C_CkStringBuilder.h> #include <C_CkJsonObject.h> void ChilkatSample(void) { BOOL success; HCkHttp http; HCkHttpRequest req; HCkHttpResponse resp; HCkStringBuilder sbResponseBody; HCkJsonObject jResp; int respStatusCode; const char *token_type; const char *issued_at; const char *client_id; const char *access_token; const char *expires_in; const char *status; success = FALSE; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttp_Create(); // 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_putBasicAuth(http,TRUE); CkHttp_putLogin(http,"2498righ8wr6aihe98rt8rhowirtyw9er6twe80rtywrehrt"); CkHttp_putPassword(http,"nerf254578uh8rgt7y3h57358ouyth387h8h53h6yyh80hh578per9y7u5ruyuy4"); req = CkHttpRequest_Create(); CkHttpRequest_AddParam(req,"grant_type","client_credentials"); CkHttpRequest_AddHeader(req,"x-merchant-id","7B3027"); CkHttpRequest_putHttpVerb(req,"POST"); CkHttpRequest_putContentType(req,"application/x-www-form-urlencoded"); resp = CkHttpResponse_Create(); success = CkHttp_HttpReq(http,"https://wwwcie.ups.com/security/v1/oauth/token",req,resp); if (success == FALSE) { printf("%s\n",CkHttp_lastErrorText(http)); CkHttp_Dispose(http); CkHttpRequest_Dispose(req); CkHttpResponse_Dispose(resp); return; } sbResponseBody = CkStringBuilder_Create(); CkHttpResponse_GetBodySb(resp,sbResponseBody); jResp = CkJsonObject_Create(); CkJsonObject_LoadSb(jResp,sbResponseBody); CkJsonObject_putEmitCompact(jResp,FALSE); printf("Response Body:\n"); printf("%s\n",CkJsonObject_emit(jResp)); respStatusCode = CkHttpResponse_getStatusCode(resp); printf("Response Status Code = %d\n",respStatusCode); if (respStatusCode >= 400) { printf("Response Header:\n"); printf("%s\n",CkHttpResponse_header(resp)); printf("Failed.\n"); CkHttp_Dispose(http); CkHttpRequest_Dispose(req); CkHttpResponse_Dispose(resp); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); return; } // 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" // } token_type = CkJsonObject_stringOf(jResp,"token_type"); issued_at = CkJsonObject_stringOf(jResp,"issued_at"); client_id = CkJsonObject_stringOf(jResp,"client_id"); access_token = CkJsonObject_stringOf(jResp,"access_token"); expires_in = CkJsonObject_stringOf(jResp,"expires_in"); status = CkJsonObject_stringOf(jResp,"status"); CkHttp_Dispose(http); CkHttpRequest_Dispose(req); CkHttpResponse_Dispose(resp); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); } | ||||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.