Rust
Rust
VoiceBase -- Retrieve JSON Transcript
See more VoiceBase Examples
Retrieves a JSON transcript for a media file.Chilkat Rust 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:
let access_token = "VOICEBASE_TOKEN".to_string();
let http = chilkat::Http::new();
// Add the access (bearer) token to the request, which is a header
// having the following format:
// Authorization: Bearer <userAccessToken>
let sb_auth = chilkat::StringBuilder::new();
let _ = sb_auth.append("Bearer ");
let _ = sb_auth.append(&access_token);
http.set_request_header("Authorization", &sb_auth.get_as_string().unwrap_or_default());
let sb_url = chilkat::StringBuilder::new();
let _ = sb_url.append("https://apis.voicebase.com/v2-beta/media/$MEDIA_ID/transcripts/latest");
let replace_count = sb_url.replace("$MEDIA_ID", "f9b9bb88-d52c-4960-bcef-d516a9f85594");
let Ok(str_json) = http.quick_get_str(&sb_url.get_as_string().unwrap_or_default()) else {
println!("{}", http.last_error_text());
return;
};
// The response should be JSON, even if an error.
let json = chilkat::JsonObject::new();
let _ = json.load(&str_json);
json.set_emit_compact(false);
println!("Response status code = {}", http.last_status());
if http.last_status() != 200 {
println!("{}", json.emit().unwrap_or_default());
println!("Failed");
return;
}
// See the sample JSON response below..
// Iterate over the words..
let num_words = json.size_of_array("transcripts.latest.words");
let mut i = 0;
while i < num_words {
json.set_i(i);
println!("{}", json.string_of("transcripts.latest.words[i].w").unwrap_or_default());
i = i + 1;
}
println!("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"
// },
// ...