Sample code for 30+ languages & platforms
Tcl

Lemon Squeezy Retrieve User

See more Lemon Squeezy Examples

Retrieves the currently authenticated user.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set http [new_CkHttp]

# Implements the following CURL command:

# curl "https://api.lemonsqueezy.com/v1/users/me" \
#   -H 'Accept: application/vnd.api+json'  \
#   -H 'Content-Type: application/vnd.api+json' \
#   -H 'Authorization: Bearer {api_key}'

# Use the following online tool to generate HTTP code from a CURL command
# Convert a cURL Command to HTTP Source Code

# Adds the "Authorization: Bearer {api_key}" header.
CkHttp_put_AuthToken $http "{api_key}"
CkHttp_SetRequestHeader $http "Accept" "application/vnd.api+json"
CkHttp_SetRequestHeader $http "Content-Type" "application/vnd.api+json"

set sbResponseBody [new_CkStringBuilder]

set success [CkHttp_QuickGetSb $http "https://api.lemonsqueezy.com/v1/users/me" $sbResponseBody]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkStringBuilder $sbResponseBody
    exit
}

set jResp [new_CkJsonObject]

CkJsonObject_LoadSb $jResp $sbResponseBody
CkJsonObject_put_EmitCompact $jResp 0

puts "Response Body:"
puts [CkJsonObject_emit $jResp]

set respStatusCode [CkHttp_get_LastStatus $http]
puts "Response Status Code = $respStatusCode"
if {$respStatusCode >= 400} then {
    puts "Response Header:"
    puts [CkHttp_lastHeader $http]
    puts "Failed."
    delete_CkHttp $http
    delete_CkStringBuilder $sbResponseBody
    delete_CkJsonObject $jResp
    exit
}

# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)

# {
#   "meta": {
#     "test_mode": true
#   },
#   "jsonapi": {
#     "version": "1.0"
#   },
#   "links": {
#     "self": "https://api.lemonsqueezy.com/v1/users/1"
#   },
#   "data": {
#     "type": "users",
#     "id": "1",
#     "attributes": {
#       "name": "John Doe",
#       "email": "johndoe@example.com",
#       "color": "#898FA9",
#       "avatar_url": "https://www.gravatar.com/avatar/1ace5b3965c59dbcd1db79d85da75048?d=blank",
#       "has_custom_avatar": false,
#       "createdAt": "2024-05-24T14:08:31.000000Z",
#       "updatedAt": "2024-08-26T13:24:54.000000Z"
#     },
#     "links": {
#       "self": "https://api.lemonsqueezy.com/v1/users/1"
#     }
#   }
# }

# Sample code for parsing the JSON response...
# Use the following online tool to generate parsing code from sample JSON:
# Generate Parsing Code from JSON

set Test_mode [CkJsonObject_BoolOf $jResp "meta.test_mode"]
set Id [CkJsonObject_stringOf $jResp "data.id"]
set Name [CkJsonObject_stringOf $jResp "data.attributes.name"]
set v_Email [CkJsonObject_stringOf $jResp "data.attributes.email"]

delete_CkHttp $http
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp