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 -- Upload a media file for transcription and analysisThis example demonstrates how to upload a media file for transcription and analysis. It duplicates the following curl command: curl https://apis.voicebase.com/v2-beta/media \ --form media=@msg_123_abc.wav \ --header "Authorization: Bearer ${TOKEN}"
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkStringBuilder.pb" IncludeFile "CkJsonObject.pb" IncludeFile "CkHttpRequest.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 req.i = CkHttpRequest::ckCreate() If req.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkHttpRequest::setCkHttpVerb(req, "POST") CkHttpRequest::setCkPath(req, "/v2-beta/media") CkHttpRequest::setCkContentType(req, "multipart/form-data") ; 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) CkHttpRequest::ckAddHeader(req,"Authorization",CkStringBuilder::ckGetAsString(sbAuth)) success.i = CkHttpRequest::ckAddFileForUpload2(req,"media","qa_data/wav/msg_123_abc.wav","audio/x-wav") If success <> 1 Debug CkHttpRequest::ckLastErrorText(req) CkHttp::ckDispose(http) CkHttpRequest::ckDispose(req) CkStringBuilder::ckDispose(sbAuth) ProcedureReturn EndIf resp.i = CkHttp::ckSynchronousRequest(http,"apis.voicebase.com",443,1,req) If CkHttp::ckLastMethodSuccess(http) <> 1 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkHttpRequest::ckDispose(req) CkStringBuilder::ckDispose(sbAuth) ProcedureReturn EndIf ; Examine the response status code and body. Debug "Response status code = " + Str(CkHttpResponse::ckStatusCode(resp)) ; 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,CkHttpResponse::ckBodyStr(resp)) CkJsonObject::setCkEmitCompact(json, 0) Debug CkJsonObject::ckEmit(json) ; A successful response will have a status code = 200 If CkHttpResponse::ckStatusCode(resp) <> 200 Debug "Failed." Else Debug "mediaId: " + CkJsonObject::ckStringOf(json,"mediaId") Debug "href: " + CkJsonObject::ckStringOf(json,"_links.self.href") Debug "status: " + CkJsonObject::ckStringOf(json,"status") Debug "Success." EndIf CkHttpResponse::ckDispose(resp) ; Here is an example of a successful response: ; { ; "_links": { ; "self": { ; "href": "/v2-beta/media/856a1e85-c847-4c3c-b7a4-6cf15cd51db4" ; } ; }, ; "mediaId": "856a1e85-c847-4c3c-b7a4-6cf15cd51db4", ; "status": "accepted", ; "metadata": {} ; CkHttp::ckDispose(http) CkHttpRequest::ckDispose(req) CkStringBuilder::ckDispose(sbAuth) CkJsonObject::ckDispose(json) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.