Rust Requires Chilkat v11.0.0+
Rust
VoiceBase -- Compound Expression Search
See more VoiceBase Examples
Demonstrates how to do a VoiceBase compound expression search. See VoiceBase Search for more details about Search.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();
let req = chilkat::HttpRequest::new();
req.set_http_verb("GET");
req.set_path("/v2-beta/media");
// 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);
req.add_header("Authorization", &sb_auth.get_as_string().unwrap_or_default());
// Search for media containing the terms any of the terms "test", "number", or "three"
req.add_param("query", "\"test\" OR \"number\" OR \"three\"");
let resp = chilkat::HttpResponse::new();
if http.http_s_req("apis.voicebase.com", 443, true, &req, &resp).is_err() {
println!("{}", http.last_error_text());
return;
}
// Examine the response status code and body.
println!("Response status code = {}", resp.status_code());
// The response should be JSON, even if an error.
let json = chilkat::JsonObject::new();
let _ = json.load(&resp.body_str());
json.set_emit_compact(false);
// A successful response will have a status code = 200
if resp.status_code() != 200 {
println!("Failed.");
} else {
println!("mediaId: {}", json.string_of("mediaId").unwrap_or_default());
println!("href: {}", json.string_of("_links.self.href").unwrap_or_default());
println!("status: {}", json.string_of("status").unwrap_or_default());
println!("Success.");
}
// See the sample JSON response below..
// Iterate over the JSON like this:
let dt = chilkat::DateTime::new();
let dt_obj = chilkat::DtObj::new();
let media_count = json.size_of_array("media");
let mut i = 0;
while i < media_count {
json.set_i(i);
println!("-- {} --", i);
println!(" mediaId: {}", json.string_of("media[i].mediaId").unwrap_or_default());
println!(" status: {}", json.string_of("media[i].status").unwrap_or_default());
println!(" contentType: {}", json.string_of("media[i].metadata.contentType").unwrap_or_default());
println!(" milliseconds: {}", json.string_of("media[i].metadata.length.milliseconds").unwrap_or_default());
println!(" descriptive: {}", json.string_of("media[i].metadata.length.descriptive").unwrap_or_default());
let date_created = json.string_of("media[i].dateCreated").unwrap_or_default();
let _ = dt.set_from_timestamp(&date_created);
let local_time = true;
dt.to_dt_obj(local_time, &dt_obj);
println!(" {}/{} {}:{}", dt_obj.month(), dt_obj.day(), dt_obj.hour(), dt_obj.minute());
i = i + 1;
}
println!("Finished.");
// A sample JSON response:
// {
// "_links": {
// "self": {
// "href": "/v2-beta/media"
// }
// },
// "media": [
// {
// "mediaId": "26063536-FFFF-4020-93ba-0878112d834b",
// "status": "finished",
// "metadata": {
// "contentType": "audio/x-wav",
// "length": {
// "milliseconds": 85141,
// "descriptive": "85.0 sec"
// }
// },
// "dateCreated": "2017-01-19T16:49:32.000Z"
// },
// {
// "mediaId": "8163fbbc-FFFF-4794-aa95-045420bb321d",
// "status": "finished",
// "metadata": {
// "contentType": "audio/x-wav",
// "length": {
// "milliseconds": 65342,
// "descriptive": "65.0 sec"
// }
// },
// "dateCreated": "2017-01-19T20:08:49.000Z"
// },
// ...
// ...
// {
// "mediaId": "b01e27be-FFFF-4b62-8802-6dc66a75c4d3",
// "status": "finished",
// "metadata": {
// "contentType": "audio/x-wav",
// "length": {
// "milliseconds": 11581,
// "descriptive": "11.0 sec"
// }
// },
// "dateCreated": "2017-02-06T20:55:43.000Z"
// }
// ]
// }