Zig
Zig
VoiceBase -- Retrieve JSON Transcript
See more VoiceBase Examples
Retrieves a JSON transcript for a media file.Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// This example assumes the Chilkat HTTP API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Insert your Bearer token here:
const access_token = "VOICEBASE_TOKEN";
const http = try chilkat.Http.init();
defer http.deinit();
// Add the access (bearer) token to the request, which is a header
// having the following format:
// Authorization: Bearer <userAccessToken>
const sb_auth = try chilkat.StringBuilder.init();
defer sb_auth.deinit();
sb_auth.append("Bearer ") catch {};
sb_auth.append(access_token) catch {};
http.setRequestHeader("Authorization", try sb_auth.getAsString(alloc));
const sb_url = try chilkat.StringBuilder.init();
defer sb_url.deinit();
sb_url.append("https://apis.voicebase.com/v2-beta/media/$MEDIA_ID/transcripts/latest") catch {};
_ = sb_url.replace("$MEDIA_ID", "f9b9bb88-d52c-4960-bcef-d516a9f85594");
const str_json = http.quickGetStr(alloc, try sb_url.getAsString(alloc)) catch {
std.debug.print("{s}\n", .{try http.getLastErrorText(alloc)});
return;
};
// The response should be JSON, even if an error.
const json = try chilkat.JsonObject.init();
defer json.deinit();
json.load(str_json) catch {};
json.setEmitCompact(false);
std.debug.print("Response status code = {d}\n", .{http.getLastStatus()});
if (http.getLastStatus() != 200) {
std.debug.print("{s}\n", .{try json.emit(alloc)});
std.debug.print("Failed\n", .{});
return;
}
// See the sample JSON response below..
// Iterate over the words..
const num_words = json.sizeOfArray("transcripts.latest.words");
var i: i32 = 0;
while (i < num_words) {
json.setI(i);
std.debug.print("{s}\n", .{try json.stringOf(alloc, "transcripts.latest.words[i].w")});
i = i + 1;
}
std.debug.print("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"
// },
// ...
}