Sample code for 30+ languages & platforms
PureBasic

HTTP GET with Custom Header and OAuth2 Bearer Token

See more HTTP Examples

Demonstrate how to send a GET request with customer headers and an "Authorization: Bearer " header.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkHttp.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkJsonObject.pb"

Procedure ChilkatExample()

    success.i = 0

    ; This example 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

    ; Setting the AuthToken property causes the "Authorization: Bearer <token>" header to be adeded.
    CkHttp::setCkAuthToken(http, "Just_the_access_token_here")

    ; Add one or more custom headers..
    CkHttp::ckSetRequestHeader(http,"X-Tenant-ID","value goes here")
    CkHttp::ckSetRequestHeader(http,"blah-blah-blah","value goes here")

    url.s = "https://www.example.com/abc/123?x=something&y=someOtherThing"

    ; Send the GET request and get the response body in the StringBuilder object.
    sb.i = CkStringBuilder::ckCreate()
    If sb.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkHttp::ckQuickGetSb(http,url,sb)
    If success <> 1
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkStringBuilder::ckDispose(sb)
        ProcedureReturn
    EndIf

    Debug "response status code: " + Str(CkHttp::ckLastStatus(http))
    Debug "response body:"
    Debug CkStringBuilder::ckGetAsString(sb)

    ; If the response contains JSON, you can load it into a Chilkat JSON object...
    json.i = CkJsonObject::ckCreate()
    If json.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckLoadSb(json,sb)
    CkJsonObject::setCkEmitCompact(json, 0)
    Debug CkJsonObject::ckEmit(json)


    CkHttp::ckDispose(http)
    CkStringBuilder::ckDispose(sb)
    CkJsonObject::ckDispose(json)


    ProcedureReturn
EndProcedure