Sample code for 30+ languages & platforms
C

BrickLink OAuth1 using Chilkat REST

See more BrickLink Examples

Demonstrates sending an api.bricklink.com request with OAuth1 authentication using Chilkat REST.

Note: This example requires Chilkat v9.5.0.91 or greater (due to adjustments made within Chilkat to support bricklink OAuth1 needs).

Chilkat C Downloads

C
#include <C_CkOAuth1.h>
#include <C_CkRest.h>
#include <C_CkStringBuilder.h>
#include <C_CkJsonObject.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkOAuth1 oauth1;
    HCkRest rest;
    HCkStringBuilder sbResponse;
    HCkJsonObject json;

    success = FALSE;

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

    oauth1 = CkOAuth1_Create();

    CkOAuth1_putConsumerKey(oauth1,"Your Consumer Key");
    CkOAuth1_putConsumerSecret(oauth1,"Your Consumer Secret");
    CkOAuth1_putToken(oauth1,"Your OAuth1 Token");
    CkOAuth1_putTokenSecret(oauth1,"Your Token Secret");
    CkOAuth1_putSignatureMethod(oauth1,"HMAC-SHA1");

    rest = CkRest_Create();

    CkRest_SetAuthOAuth1(rest,oauth1,FALSE);

    success = CkRest_Connect(rest,"api.bricklink.com",443,TRUE,TRUE);
    if (success == FALSE) {
        printf("%s\n",CkRest_lastErrorText(rest));
        CkOAuth1_Dispose(oauth1);
        CkRest_Dispose(rest);
        return;
    }

    sbResponse = CkStringBuilder_Create();
    success = CkRest_FullRequestNoBodySb(rest,"GET","/api/store/v1/orders?direction=in",sbResponse);
    if (success == FALSE) {
        printf("%s\n",CkRest_lastErrorText(rest));
        CkOAuth1_Dispose(oauth1);
        CkRest_Dispose(rest);
        CkStringBuilder_Dispose(sbResponse);
        return;
    }

    printf("Response status code = %d\n",CkRest_getResponseStatusCode(rest));

    json = CkJsonObject_Create();
    CkJsonObject_LoadSb(json,sbResponse);
    CkJsonObject_putEmitCompact(json,FALSE);
    printf("%s\n",CkJsonObject_emit(json));


    CkOAuth1_Dispose(oauth1);
    CkRest_Dispose(rest);
    CkStringBuilder_Dispose(sbResponse);
    CkJsonObject_Dispose(json);

    }