Sample code for 30+ languages & platforms
Tcl

Create New Task and Insert Onto List

See more Google Tasks Examples

Creates a new Google task and inserts it onto a task list.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

# Get the previously obtained access token.
# See Get Google Tasks Access Token.

set fac [new_CkFileAccess]

set accessToken [CkFileAccess_readEntireTextFile $fac "qa_data/tokens/googleTasks.txt" "utf-8"]
if {[CkFileAccess_get_LastMethodSuccess $fac] == 0} then {
    puts [CkFileAccess_lastErrorText $fac]
    delete_CkFileAccess $fac
    exit
}

set http [new_CkHttp]

CkHttp_put_AuthToken $http $accessToken

# Create a new task.
set json [new_CkJsonObject]

CkJsonObject_UpdateString $json "title" "Go to grocery store"
CkJsonObject_UpdateString $json "notes" "Don't forget to buy apples."

# The due date of a task is specified as a RFC 3339 timestamp.  It is optional.
set due [new_CkDateTime]

CkDateTime_SetFromCurrentSystemTime $due
CkDateTime_AddDays $due 3
CkJsonObject_UpdateString $json "due" [CkDateTime_getAsTimestamp $due 0]

# Insert this task onto the task list w/ id = MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzow
CkHttp_SetUrlVar $http "tasklist" "MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzow"

set resp [new_CkHttpResponse]

set success [CkHttp_HttpJson $http "POST" "https://www.googleapis.com/tasks/v1/lists/{$tasklist}/tasks" $json "application/json" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkFileAccess $fac
    delete_CkHttp $http
    delete_CkJsonObject $json
    delete_CkDateTime $due
    delete_CkHttpResponse $resp
    exit
}

# Show the response body.
puts [CkHttpResponse_bodyStr $resp]

# Examine the response status code.
puts "response status code: [CkHttpResponse_get_StatusCode $resp]"

# Sample response:
# Use this online tool to generate parsing code from sample JSON: 
# Generate Parsing Code from JSON

# {
#  "kind": "tasks#task",
#  "id": "MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzoxMTg0MzQxMTkzMjM2MDY1",
#  "etag": "\"84_7Cubo3y98GMV9bE3zQclHxhc/MTU1MjQzNDIwMQ\"",
#  "title": "Go to grocery store",
#  "updated": "2019-04-04T17:59:15.000Z",
#  "selfLink": "https://www.googleapis.com/tasks/v1/lists/MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzow/tasks/MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzoxMTg0MzQxMTkzMjM2MDY1",
#  "position": "00000000002147483647",
#  "notes": "Don't forget to buy apples.",
#  "status": "needsAction",
#  "due": "2019-04-07T00:00:00.000Z"
# }
# 
# response status code: 200
# 

delete_CkFileAccess $fac
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkDateTime $due
delete_CkHttpResponse $resp