C
C
VoiceBase -- Retrieve JSON Transcript
See more VoiceBase Examples
Retrieves a JSON transcript for a media file.Chilkat C Downloads
#include <C_CkHttp.h>
#include <C_CkStringBuilder.h>
#include <C_CkJsonObject.h>
void ChilkatSample(void)
{
const char *accessToken;
HCkHttp http;
HCkStringBuilder sbAuth;
HCkStringBuilder sbUrl;
int replaceCount;
const char *strJson;
HCkJsonObject json;
int numWords;
int 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:
accessToken = "VOICEBASE_TOKEN";
http = CkHttp_Create();
// Add the access (bearer) token to the request, which is a header
// having the following format:
// Authorization: Bearer <userAccessToken>
sbAuth = CkStringBuilder_Create();
CkStringBuilder_Append(sbAuth,"Bearer ");
CkStringBuilder_Append(sbAuth,accessToken);
CkHttp_SetRequestHeader(http,"Authorization",CkStringBuilder_getAsString(sbAuth));
sbUrl = CkStringBuilder_Create();
CkStringBuilder_Append(sbUrl,"https://apis.voicebase.com/v2-beta/media/$MEDIA_ID/transcripts/latest");
replaceCount = CkStringBuilder_Replace(sbUrl,"$MEDIA_ID","f9b9bb88-d52c-4960-bcef-d516a9f85594");
strJson = CkHttp_quickGetStr(http,CkStringBuilder_getAsString(sbUrl));
if (CkHttp_getLastMethodSuccess(http) != TRUE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
CkStringBuilder_Dispose(sbAuth);
CkStringBuilder_Dispose(sbUrl);
return;
}
// The response should be JSON, even if an error.
json = CkJsonObject_Create();
CkJsonObject_Load(json,strJson);
CkJsonObject_putEmitCompact(json,FALSE);
printf("Response status code = %d\n",CkHttp_getLastStatus(http));
if (CkHttp_getLastStatus(http) != 200) {
printf("%s\n",CkJsonObject_emit(json));
printf("Failed\n");
CkHttp_Dispose(http);
CkStringBuilder_Dispose(sbAuth);
CkStringBuilder_Dispose(sbUrl);
CkJsonObject_Dispose(json);
return;
}
// See the sample JSON response below..
// Iterate over the words..
numWords = CkJsonObject_SizeOfArray(json,"transcripts.latest.words");
i = 0;
while (i < numWords) {
CkJsonObject_putI(json,i);
printf("%s\n",CkJsonObject_stringOf(json,"transcripts.latest.words[i].w"));
i = i + 1;
}
printf("Success.\n");
// 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_Dispose(http);
CkStringBuilder_Dispose(sbAuth);
CkStringBuilder_Dispose(sbUrl);
CkJsonObject_Dispose(json);
}