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
(PureBasic) VoiceBase -- Retrieve JSON TranscriptRetrieves a JSON transcript for a media file.
IncludeFile "CkHttp.pb" IncludeFile "CkStringBuilder.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() ; 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.s = "VOICEBASE_TOKEN" http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Add the access (bearer) token to the request, which is a header ; having the following format: ; Authorization: Bearer <userAccessToken> sbAuth.i = CkStringBuilder::ckCreate() If sbAuth.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkStringBuilder::ckAppend(sbAuth,"Bearer ") CkStringBuilder::ckAppend(sbAuth,accessToken) CkHttp::ckSetRequestHeader(http,"Authorization",CkStringBuilder::ckGetAsString(sbAuth)) sbUrl.i = CkStringBuilder::ckCreate() If sbUrl.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkStringBuilder::ckAppend(sbUrl,"https://apis.voicebase.com/v2-beta/media/$MEDIA_ID/transcripts/latest") replaceCount.i = CkStringBuilder::ckReplace(sbUrl,"$MEDIA_ID","f9b9bb88-d52c-4960-bcef-d516a9f85594") strJson.s = CkHttp::ckQuickGetStr(http,CkStringBuilder::ckGetAsString(sbUrl)) If CkHttp::ckLastMethodSuccess(http) <> 1 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkStringBuilder::ckDispose(sbAuth) CkStringBuilder::ckDispose(sbUrl) ProcedureReturn EndIf ; The response should be JSON, even if an error. json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckLoad(json,strJson) CkJsonObject::setCkEmitCompact(json, 0) Debug "Response status code = " + Str(CkHttp::ckLastStatus(http)) If CkHttp::ckLastStatus(http) <> 200 Debug CkJsonObject::ckEmit(json) Debug "Failed" CkHttp::ckDispose(http) CkStringBuilder::ckDispose(sbAuth) CkStringBuilder::ckDispose(sbUrl) CkJsonObject::ckDispose(json) ProcedureReturn EndIf ; See the sample JSON response below.. ; Iterate over the words.. numWords.i = CkJsonObject::ckSizeOfArray(json,"transcripts.latest.words") i.i = 0 While i < numWords CkJsonObject::setCkI(json, i) Debug CkJsonObject::ckStringOf(json,"transcripts.latest.words[i].w") i = i + 1 Wend Debug "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::ckDispose(http) CkStringBuilder::ckDispose(sbAuth) CkStringBuilder::ckDispose(sbUrl) CkJsonObject::ckDispose(json) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.