C
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
#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);
}