Xbase++
Xbase++
VoiceBase -- Retrieve JSON Transcript
See more VoiceBase Examples
Retrieves a JSON transcript for a media file.Chilkat Xbase++ Downloads
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()