Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicCkPythonChilkat2-PythonRubySQL ServerSwift 2Swift 3/4TclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcelGo

C Web API Examples

Primary Categories

Facebook
GeoOp
Jira
PayPal
Peoplevox
QuickBooks

Shopify
Stripe
SugarCRM
Twitter
VoiceBase
Walmart
Xero
eBay
effectconnect

 

 

 

(C) VoiceBase -- Compound Expression Search

Demonstrates how to do a VoiceBase compound expression search. See VoiceBase Search for more details about Search.

Chilkat C/C++ Library Downloads

MS Visual C/C++

Linux/CentOS C/C++

Alpine Linux C/C++

MAC OS X C/C++

armhf/aarch64 C/C++

C++ Builder

iOS C/C++

Android C/C++

Win Mobile 5.0/Pocket PC 2003

Solaris C/C++

FreeBSD C/C++

OpenBSD C/C++

MinGW C/C++

#include <C_CkHttp.h>
#include <C_CkHttpRequest.h>
#include <C_CkStringBuilder.h>
#include <C_CkHttpResponse.h>
#include <C_CkJsonObject.h>
#include <C_CkDateTime.h>
#include <C_CkDtObj.h>

void ChilkatSample(void)
    {
    const char *accessToken;
    HCkHttp http;
    HCkHttpRequest req;
    HCkStringBuilder sbAuth;
    HCkHttpResponse resp;
    HCkJsonObject json;
    HCkDateTime dt;
    int mediaCount;
    int i;
    const char *dateCreated;
    BOOL localTime;
    HCkDtObj dtObj;

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

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

    http = CkHttp_Create();

    req = CkHttpRequest_Create();
    CkHttpRequest_putHttpVerb(req,"GET");
    CkHttpRequest_putPath(req,"/v2-beta/media");

    // Add the access (bearer) token to the request, which is a header
    // having the following format:
    // Authorization: Bearer <userAccessToken>
    sbAuth = CkStringBuilder_Create();
    CkStringBuilder_Append(sbAuth,"Bearer ");
    CkStringBuilder_Append(sbAuth,accessToken);
    CkHttpRequest_AddHeader(req,"Authorization",CkStringBuilder_getAsString(sbAuth));

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

    resp = CkHttp_SynchronousRequest(http,"apis.voicebase.com",443,TRUE,req);
    if (CkHttp_getLastMethodSuccess(http) != TRUE) {
        printf("%s\n",CkHttp_lastErrorText(http));
        CkHttp_Dispose(http);
        CkHttpRequest_Dispose(req);
        CkStringBuilder_Dispose(sbAuth);
        return;
    }

    // Examine the response status code and body.
    printf("Response status code = %d\n",CkHttpResponse_getStatusCode(resp));

    // The response should be JSON, even if an error.
    json = CkJsonObject_Create();
    CkJsonObject_Load(json,CkHttpResponse_bodyStr(resp));
    CkJsonObject_putEmitCompact(json,FALSE);

    // A successful response will have a status code = 200
    if (CkHttpResponse_getStatusCode(resp) != 200) {
        printf("Failed.\n");
    }
    else {
        printf("mediaId: %s\n",CkJsonObject_stringOf(json,"mediaId"));
        printf("href: %s\n",CkJsonObject_stringOf(json,"_links.self.href"));
        printf("status: %s\n",CkJsonObject_stringOf(json,"status"));
        printf("Success.\n");
    }

    CkHttpResponse_Dispose(resp);

    // See the sample JSON response below..

    // Iterate over the JSON like this:
    dt = CkDateTime_Create();
    mediaCount = CkJsonObject_SizeOfArray(json,"media");
    i = 0;
    while (i < mediaCount) {
        CkJsonObject_putI(json,i);

        printf("-- %d --\n",i);
        printf("  mediaId: %s\n",CkJsonObject_stringOf(json,"media[i].mediaId"));
        printf("  status: %s\n",CkJsonObject_stringOf(json,"media[i].status"));
        printf("  contentType: %s\n",CkJsonObject_stringOf(json,"media[i].metadata.contentType"));
        printf("  milliseconds: %s\n",CkJsonObject_stringOf(json,"media[i].metadata.length.milliseconds"));
        printf("  descriptive: %s\n",CkJsonObject_stringOf(json,"media[i].metadata.length.descriptive"));
        dateCreated = CkJsonObject_stringOf(json,"media[i].dateCreated");
        CkDateTime_SetFromTimestamp(dt,dateCreated);

        localTime = TRUE;
        dtObj = CkDateTime_GetDtObj(dt,localTime);
        printf("  %d/%d  %d:%d\n",CkDtObj_getMonth(dtObj),CkDtObj_getDay(dtObj),CkDtObj_getHour(dtObj),CkDtObj_getMinute(dtObj));
        CkDtObj_Dispose(dtObj);

        i = i + 1;
    }

    printf("Finished.\n");

    // 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"
    //     }
    //   ]
    // }


    CkHttp_Dispose(http);
    CkHttpRequest_Dispose(req);
    CkStringBuilder_Dispose(sbAuth);
    CkJsonObject_Dispose(json);
    CkDateTime_Dispose(dt);

    }

 

© 2000-2019 Chilkat Software, Inc. All Rights Reserved.