Sample code for 30+ languages & platforms
Unicode C

NetSuite OAuth1

See more OAuth1 Examples

Demonstrates adding OAUth1 authentication to a NetSuite REST API request.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkHttpW.h>
#include <C_CkHttpResponseW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkHttpW http;
    HCkHttpResponseW resp;

    success = FALSE;

    // It requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    http = CkHttpW_Create();

    CkHttpW_putOAuth1(http,TRUE);
    CkHttpW_putOAuthConsumerKey(http,L"CONSUMER_KEY");
    CkHttpW_putOAuthConsumerSecret(http,L"CONSUMER_SECRET");
    CkHttpW_putOAuthToken(http,L"ACCESS_TOKEN");
    CkHttpW_putOAuthTokenSecret(http,L"TOKEN_SECRET");
    CkHttpW_putOAuthRealm(http,L"ACCOUNT_ID");
    CkHttpW_putOAuthSigMethod(http,L"HMAC-SHA256");

    // Not sure if this is needed for NetSuite requests.
    CkHttpW_SetRequestHeader(http,L"Cookie",L"NS_ROUTING_VERSION=LAGGING");

    // Replace ACCOUNT_ID with your actual account id, which is likely a 7-digit decimal number.
    resp = CkHttpResponseW_Create();
    success = CkHttpW_HttpNoBody(http,L"GET",L"https://ACCOUNT_ID.suitetalk.api.netsuite.com/services/rest/record/v1/salesOrder",resp);
    if (success == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        CkHttpResponseW_Dispose(resp);
        return;
    }

    wprintf(L"Response Status Code: %d\n",CkHttpResponseW_getStatusCode(resp));
    wprintf(L"Response Body:\n");
    wprintf(L"%s\n",CkHttpResponseW_bodyStr(resp));


    CkHttpW_Dispose(http);
    CkHttpResponseW_Dispose(resp);

    }