Objective-C
Objective-C
VoiceBase -- Hello World (Get the Media Collection Listing)
See more VoiceBase Examples
This example serves to both verify that your Bearer Token is valid by retrieving JSON that contains information about your media collection.Chilkat Objective-C Downloads
#import <NSString.h>
#import <CkoHttp.h>
#import <CkoStringBuilder.h>
#import <CkoJsonObject.h>
#import <CkoDateTime.h>
#import <CkoDtObj.h>
// This example assumes the Chilkat HTTP API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Insert your Bearer token here:
NSString *accessToken = @"VOICEBASE_TOKEN";
CkoHttp *http = [[CkoHttp alloc] init];
// Add the access (bearer) token to the request, which is a header
// having the following format:
// Authorization: Bearer <userAccessToken>
CkoStringBuilder *sbAuth = [[CkoStringBuilder alloc] init];
[sbAuth Append: @"Bearer "];
[sbAuth Append: accessToken];
[http SetRequestHeader: @"Authorization" value: [sbAuth GetAsString]];
NSString *strJson = [http QuickGetStr: @"https://apis.voicebase.com/v2-beta/media"];
if (http.LastMethodSuccess == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
// The response should be JSON, even if an error.
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json Load: strJson];
json.EmitCompact = NO;
NSLog(@"%@%d",@"Response status code = ",[http.LastStatus intValue]);
if ([http.LastStatus intValue] != 200) {
NSLog(@"%@",[json Emit]);
NSLog(@"%@",@"Failed");
return;
}
// See the sample JSON response below..
// Iterate over the JSON like this:
CkoDateTime *dt = [[CkoDateTime alloc] init];
CkoDtObj *dtObj = [[CkoDtObj alloc] init];
int mediaCount = [[json SizeOfArray: @"media"] intValue];
int i = 0;
while (i < mediaCount) {
json.I = [NSNumber numberWithInt: i];
NSLog(@"%@%d%@",@"-- ",i,@" --");
NSLog(@"%@%@",@" mediaId: ",[json StringOf: @"media[i].mediaId"]);
NSLog(@"%@%@",@" status: ",[json StringOf: @"media[i].status"]);
NSLog(@"%@%@",@" contentType: ",[json StringOf: @"media[i].metadata.contentType"]);
NSLog(@"%@%@",@" milliseconds: ",[json StringOf: @"media[i].metadata.length.milliseconds"]);
NSLog(@"%@%@",@" descriptive: ",[json StringOf: @"media[i].metadata.length.descriptive"]);
NSString *dateCreated = [json StringOf: @"media[i].dateCreated"];
[dt SetFromTimestamp: dateCreated];
BOOL localTime = YES;
[dt ToDtObj: localTime dtObj: dtObj];
NSLog(@"%@%d%@%d%@%d%@%d",@" ",[dtObj.Month intValue],@"/",[dtObj.Day intValue],@" ",[dtObj.Hour intValue]
,@":",[dtObj.Minute intValue]);
i = i + 1;
}
NSLog(@"%@",@"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"
// }
// ]
// }