Sample code for 30+ languages & platforms
PureBasic

NetSuite OAuth1

See more OAuth1 Examples

Demonstrates adding OAUth1 authentication to a NetSuite REST API request.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttp.pb"

Procedure ChilkatExample()

    success.i = 0

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

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttp::setCkOAuth1(http, 1)
    CkHttp::setCkOAuthConsumerKey(http, "CONSUMER_KEY")
    CkHttp::setCkOAuthConsumerSecret(http, "CONSUMER_SECRET")
    CkHttp::setCkOAuthToken(http, "ACCESS_TOKEN")
    CkHttp::setCkOAuthTokenSecret(http, "TOKEN_SECRET")
    CkHttp::setCkOAuthRealm(http, "ACCOUNT_ID")
    CkHttp::setCkOAuthSigMethod(http, "HMAC-SHA256")

    ; Not sure if this is needed for NetSuite requests.
    CkHttp::ckSetRequestHeader(http,"Cookie","NS_ROUTING_VERSION=LAGGING")

    ; Replace ACCOUNT_ID with your actual account id, which is likely a 7-digit decimal number.
    resp.i = CkHttpResponse::ckCreate()
    If resp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkHttp::ckHttpNoBody(http,"GET","https://ACCOUNT_ID.suitetalk.api.netsuite.com/services/rest/record/v1/salesOrder",resp)
    If success = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkHttpResponse::ckDispose(resp)
        ProcedureReturn
    EndIf

    Debug "Response Status Code: " + Str(CkHttpResponse::ckStatusCode(resp))
    Debug "Response Body:"
    Debug CkHttpResponse::ckBodyStr(resp)


    CkHttp::ckDispose(http)
    CkHttpResponse::ckDispose(resp)


    ProcedureReturn
EndProcedure