Sample code for 30+ languages & platforms
Xbase++

VoiceBase -- Retrieve JSON Transcript

See more VoiceBase Examples

Retrieves a JSON transcript for a media file.

Chilkat Xbase++ Downloads

Xbase++
LOCAL cAccessToken
LOCAL oHttp
LOCAL oSbAuth
LOCAL oSbUrl
LOCAL nReplaceCount
LOCAL cStrJson
LOCAL oJson
LOCAL nNumWords
LOCAL i

//  This example assumes the Chilkat HTTP API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

//  Insert your Bearer token here:
cAccessToken := "VOICEBASE_TOKEN"

oHttp := CreateObject("Chilkat.Http")

//  Add the access (bearer) token to the request, which is a header
//  having the following format:
//  Authorization: Bearer <userAccessToken>
oSbAuth := CreateObject("Chilkat.StringBuilder")
oSbAuth:Append("Bearer ")
oSbAuth:Append(cAccessToken)
oHttp:SetRequestHeader("Authorization", oSbAuth:GetAsString())

oSbUrl := CreateObject("Chilkat.StringBuilder")
oSbUrl:Append("https://apis.voicebase.com/v2-beta/media/$MEDIA_ID/transcripts/latest")
nReplaceCount := oSbUrl:Replace("$MEDIA_ID", "f9b9bb88-d52c-4960-bcef-d516a9f85594")

cStrJson := oHttp:QuickGetStr(oSbUrl:GetAsString())
IF (oHttp:LastMethodSuccess != 1)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oSbAuth:destroy()
    oSbUrl:destroy()
    RETURN
ENDIF

//  The response should be JSON, even if an error.
oJson := CreateObject("Chilkat.JsonObject")
oJson:Load(cStrJson)
oJson:EmitCompact := 0

? "Response status code = " + Str(oHttp:LastStatus)

IF (oHttp:LastStatus != 200)
    ? oJson:Emit()
    ? "Failed"
    oHttp:destroy()
    oSbAuth:destroy()
    oSbUrl:destroy()
    oJson:destroy()
    RETURN
ENDIF

//  See the sample JSON response below..

//  Iterate over the words..
nNumWords := oJson:SizeOfArray("transcripts.latest.words")
i := 0
DO WHILE i < nNumWords
    oJson:I := i
    ? oJson:StringOf("transcripts.latest.words[i].w")
    i := i + 1
ENDDO
? "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"
//          },
//  ...

oHttp:destroy()
oSbAuth:destroy()
oSbUrl:destroy()
oJson:destroy()