Sample code for 30+ languages & platforms
JavaScript

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.
Note
This example is intended for running within a Chilkat.Js embedded JavaScript engine. All Chilkat JavaScript examples require Chilkat v11.4.0 or greater.
JavaScript
var success = false;

// This example assumes the Chilkat HTTP API to have been previously unlocked.
// See Global Unlock Sample for sample code.

// Insert your Bearer token here:
var accessToken = "VOICEBASE_TOKEN";

var http = new CkHttp();

var req = new CkHttpRequest();
req.HttpVerb = "GET";
req.Path = "/v2-beta/media";

// Add the access (bearer) token to the request, which is a header
// having the following format:
// Authorization: Bearer <userAccessToken>
var sbAuth = new CkStringBuilder();
sbAuth.Append("Bearer ");
sbAuth.Append(accessToken);
req.AddHeader("Authorization",sbAuth.GetAsString());

// Search for media containing the terms any of the terms "test", "number", or "three"
req.AddParam("query","\"test\" OR \"number\" OR \"three\"");

var resp = new CkHttpResponse();
success = http.HttpSReq("apis.voicebase.com",443,true,req,resp);
if (success == false) {
    console.log(http.LastErrorText);
    return;
}

// Examine the response status code and body.
console.log("Response status code = " + resp.StatusCode);

// The response should be JSON, even if an error.
var json = new CkJsonObject();
json.Load(resp.BodyStr);
json.EmitCompact = false;

// A successful response will have a status code = 200
if (resp.StatusCode !== 200) {
    console.log("Failed.");
}
else {
    console.log("mediaId: " + json.StringOf("mediaId"));
    console.log("href: " + json.StringOf("_links.self.href"));
    console.log("status: " + json.StringOf("status"));
    console.log("Success.");
}

// See the sample JSON response below..

// Iterate over the JSON like this:
var dt = new CkDateTime();
var dtObj = new CkDtObj();

var mediaCount = json.SizeOfArray("media");
var i = 0;
while (i < mediaCount) {
    json.I = i;

    console.log("-- " + i + " --");
    console.log("  mediaId: " + json.StringOf("media[i].mediaId"));
    console.log("  status: " + json.StringOf("media[i].status"));
    console.log("  contentType: " + json.StringOf("media[i].metadata.contentType"));
    console.log("  milliseconds: " + json.StringOf("media[i].metadata.length.milliseconds"));
    console.log("  descriptive: " + json.StringOf("media[i].metadata.length.descriptive"));
    var dateCreated = json.StringOf("media[i].dateCreated");
    dt.SetFromTimestamp(dateCreated);

    var localTime = true;
    dt.ToDtObj(localTime,dtObj);

    console.log("  " + dtObj.Month + "/" + dtObj.Day + "  " + dtObj.Hour + ":" + dtObj.Minute);

    i = i+1;
}

console.log("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"
//     }
//   ]
// }