|  | 
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
| (Delphi DLL) 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 
 uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, StringBuilder, PrivateKey, Cert, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; success: Boolean; jToken: HCkJsonObject; cert: HCkCert; privKey: HCkPrivateKey; sbResponseBody: HCkStringBuilder; jResp: HCkJsonObject; respStatusCode: Integer; begin // 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) then begin Memo1.Lines.Add('Failed to load access token JSON.'); Exit; end; // 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) then begin Memo1.Lines.Add(CkCert__lastErrorText(cert)); Exit; end; privKey := CkPrivateKey_Create(); success := CkPrivateKey_LoadAnyFormatFile(privKey,'qa_data/certs_and_keys/union_client_certificate.nopass.key',''); if (success = False) then begin Memo1.Lines.Add(CkPrivateKey__lastErrorText(privKey)); Exit; end; // 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) then begin Memo1.Lines.Add(CkCert__lastErrorText(cert)); Exit; end; // Tell HTTP to use the cert for client TLS certificate authentication. success := CkHttp_SetSslClientCert(http,cert); if (success = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; sbResponseBody := CkStringBuilder_Create(); success := CkHttp_QuickGetSb(http,'https://api-test.rsap.ca/members/status',sbResponseBody); if (success = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; jResp := CkJsonObject_Create(); CkJsonObject_LoadSb(jResp,sbResponseBody); CkJsonObject_putEmitCompact(jResp,False); Memo1.Lines.Add('Response Body:'); Memo1.Lines.Add(CkJsonObject__emit(jResp)); respStatusCode := CkHttp_getLastStatus(http); Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode)); if (respStatusCode >= 400) then begin Memo1.Lines.Add('Response Header:'); Memo1.Lines.Add(CkHttp__lastHeader(http)); Memo1.Lines.Add('Failed.'); Exit; end; CkHttp_Dispose(http); CkJsonObject_Dispose(jToken); CkCert_Dispose(cert); CkPrivateKey_Dispose(privKey); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); end; | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.