B4X
B4X
VoiceBase -- Retrieve JSON Transcript
See more VoiceBase Examples
Retrieves a JSON transcript for a media file.Chilkat B4X Downloads
' This example assumes the Chilkat HTTP API to have been previously unlocked.
' See Global Unlock Sample for sample code.
' Insert your Bearer token here:
Dim accessToken As String = "VOICEBASE_TOKEN"
Dim http As ChilkatHttp
http.Initialize("http")
' Add the access (bearer) token to the request, which is a header
' having the following format:
' Authorization: Bearer <userAccessToken>
Dim sbAuth As ChilkatStringBuilder
sbAuth.Initialize
sbAuth.Append("Bearer ")
sbAuth.Append(accessToken)
http.SetRequestHeader("Authorization", sbAuth.GetAsString)
Dim sbUrl As ChilkatStringBuilder
sbUrl.Initialize
sbUrl.Append("https://apis.voicebase.com/v2-beta/media/$MEDIA_ID/transcripts/latest")
Dim replaceCount As Int = sbUrl.Replace("$MEDIA_ID", "f9b9bb88-d52c-4960-bcef-d516a9f85594")
Dim strJson As String = http.QuickGetStr(sbUrl.GetAsString)
If http.LastMethodSuccess <> True Then
Log(http.LastErrorText)
Return
End If
' The response should be JSON, even if an error.
Dim json As ChilkatJsonObject
json.Initialize
json.Load(strJson)
json.EmitCompact = False
Log("Response status code = " & http.LastStatus)
If http.LastStatus <> 200 Then
Log(json.Emit)
Log("Failed")
Return
End If
' See the sample JSON response below..
' Iterate over the words..
Dim numWords As Int = json.SizeOfArray("transcripts.latest.words")
Dim i As Int = 0
Do While i < numWords
json.I = i
Log(json.StringOf("transcripts.latest.words[i].w"))
i = i + 1
Loop
Log("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"
' },
' ...