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
(Delphi DLL) VoiceBase -- Retrieve JSON TranscriptRetrieves a JSON transcript for a media file.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, StringBuilder, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var accessToken: PWideChar; http: HCkHttp; sbAuth: HCkStringBuilder; sbUrl: HCkStringBuilder; replaceCount: Integer; strJson: PWideChar; json: HCkJsonObject; numWords: Integer; i: Integer; begin // This example assumes the Chilkat HTTP API to have been previously unlocked. // See Global Unlock Sample for sample code. // Insert your Bearer token here: accessToken := 'VOICEBASE_TOKEN'; http := CkHttp_Create(); // Add the access (bearer) token to the request, which is a header // having the following format: // Authorization: Bearer <userAccessToken> sbAuth := CkStringBuilder_Create(); CkStringBuilder_Append(sbAuth,'Bearer '); CkStringBuilder_Append(sbAuth,accessToken); CkHttp_SetRequestHeader(http,'Authorization',CkStringBuilder__getAsString(sbAuth)); sbUrl := CkStringBuilder_Create(); CkStringBuilder_Append(sbUrl,'https://apis.voicebase.com/v2-beta/media/$MEDIA_ID/transcripts/latest'); replaceCount := CkStringBuilder_Replace(sbUrl,'$MEDIA_ID','f9b9bb88-d52c-4960-bcef-d516a9f85594'); strJson := CkHttp__quickGetStr(http,CkStringBuilder__getAsString(sbUrl)); if (CkHttp_getLastMethodSuccess(http) <> True) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; // The response should be JSON, even if an error. json := CkJsonObject_Create(); CkJsonObject_Load(json,strJson); CkJsonObject_putEmitCompact(json,False); Memo1.Lines.Add('Response status code = ' + IntToStr(CkHttp_getLastStatus(http))); if (CkHttp_getLastStatus(http) <> 200) then begin Memo1.Lines.Add(CkJsonObject__emit(json)); Memo1.Lines.Add('Failed'); Exit; end; // See the sample JSON response below.. // Iterate over the words.. numWords := CkJsonObject_SizeOfArray(json,'transcripts.latest.words'); i := 0; while i < numWords do begin CkJsonObject_putI(json,i); Memo1.Lines.Add(CkJsonObject__stringOf(json,'transcripts.latest.words[i].w')); i := i + 1; end; Memo1.Lines.Add('Success.'); // A sample JSON response: // { // "_links": { // "self": { // "href": "/v2-beta/media/f9b9bb88-d52c-4960-bcef-d516a9f85594/transcripts/latest" // } // }, // "transcripts": { // "latest": { // "revision": "b25e81dc-ae3e-4f9d-8008-1d56a283c17f", // "engine": "standard", // "confidence": 2.196210728898151, // "words": [ // { // "p": 0, // "s": 830, // "c": 0.14, // "e": 870, // "w": "You" // }, // { // "p": 1, // "s": 1860, // "c": 0.432, // "e": 1920, // "w": "know" // }, // { // "p": 2, // "s": 1930, // "c": 0.288, // "e": 2250, // "w": "that's" // }, // { // "p": 3, // "s": 2250, // "c": 0.923, // "e": 2300, // "w": "a" // }, // ... CkHttp_Dispose(http); CkStringBuilder_Dispose(sbAuth); CkStringBuilder_Dispose(sbUrl); CkJsonObject_Dispose(json); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.