|  | 
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) RSAP Union API - Get Members StatusDemonstrates how to use an OAuth2 access token for the RSAP Union API. Calls the endpoint to get the statuses of all union members. For more information, see https://app.swaggerhub.com/apis-docs/pderas/RSAP/2.0.1#/Members/getAllUnionMemberStatuses 
 #include <C_CkHttp.h> #include <C_CkJsonObject.h> #include <C_CkCert.h> #include <C_CkPrivateKey.h> #include <C_CkStringBuilder.h> void ChilkatSample(void) { HCkHttp http; BOOL success; HCkJsonObject jToken; HCkCert cert; HCkPrivateKey privKey; HCkStringBuilder sbResponseBody; HCkJsonObject jResp; int respStatusCode; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttp_Create(); // Load the access token previously obtained by this example: RSAP Union OAuth2 jToken = CkJsonObject_Create(); success = CkJsonObject_LoadFile(jToken,"qa_data/tokens/rsapToken.json"); if (success == FALSE) { printf("Failed to load access token JSON.\n"); CkHttp_Dispose(http); CkJsonObject_Dispose(jToken); return; } // Adds the "Authorization: Bearer ACCESS_TOKEN" header. CkHttp_putAuthToken(http,CkJsonObject_stringOf(jToken,"access_token")); // For authentication, assuming both the client cert and access token are needed??? cert = CkCert_Create(); success = CkCert_LoadFromFile(cert,"qa_data/certs_and_keys/union_client_certificate.crt"); if (success == FALSE) { printf("%s\n",CkCert_lastErrorText(cert)); CkHttp_Dispose(http); CkJsonObject_Dispose(jToken); CkCert_Dispose(cert); return; } privKey = CkPrivateKey_Create(); success = CkPrivateKey_LoadAnyFormatFile(privKey,"qa_data/certs_and_keys/union_client_certificate.nopass.key",""); if (success == FALSE) { printf("%s\n",CkPrivateKey_lastErrorText(privKey)); CkHttp_Dispose(http); CkJsonObject_Dispose(jToken); CkCert_Dispose(cert); CkPrivateKey_Dispose(privKey); return; } // Associate the private key with the cert. // This will fail if the private key is not actually the correct one that corresponds to the public key stored within the cert. success = CkCert_SetPrivateKey(cert,privKey); if (success == FALSE) { printf("%s\n",CkCert_lastErrorText(cert)); CkHttp_Dispose(http); CkJsonObject_Dispose(jToken); CkCert_Dispose(cert); CkPrivateKey_Dispose(privKey); return; } // Tell HTTP to use the cert for client TLS certificate authentication. success = CkHttp_SetSslClientCert(http,cert); if (success == FALSE) { printf("%s\n",CkHttp_lastErrorText(http)); CkHttp_Dispose(http); CkJsonObject_Dispose(jToken); CkCert_Dispose(cert); CkPrivateKey_Dispose(privKey); return; } sbResponseBody = CkStringBuilder_Create(); success = CkHttp_QuickGetSb(http,"https://api-test.rsap.ca/members/status",sbResponseBody); if (success == FALSE) { printf("%s\n",CkHttp_lastErrorText(http)); CkHttp_Dispose(http); CkJsonObject_Dispose(jToken); CkCert_Dispose(cert); CkPrivateKey_Dispose(privKey); CkStringBuilder_Dispose(sbResponseBody); return; } jResp = CkJsonObject_Create(); CkJsonObject_LoadSb(jResp,sbResponseBody); CkJsonObject_putEmitCompact(jResp,FALSE); printf("Response Body:\n"); printf("%s\n",CkJsonObject_emit(jResp)); respStatusCode = CkHttp_getLastStatus(http); printf("Response Status Code = %d\n",respStatusCode); if (respStatusCode >= 400) { printf("Response Header:\n"); printf("%s\n",CkHttp_lastHeader(http)); printf("Failed.\n"); CkHttp_Dispose(http); CkJsonObject_Dispose(jToken); CkCert_Dispose(cert); CkPrivateKey_Dispose(privKey); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); return; } CkHttp_Dispose(http); CkJsonObject_Dispose(jToken); CkCert_Dispose(cert); CkPrivateKey_Dispose(privKey); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); } | ||||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.