Tcl
Tcl
Get all Tasks on a List
See more Google Tasks Examples
Demonstrates how to get all the tasks in a Google task list.Chilkat Tcl Downloads
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
# Get the tasks from the task list w/ id = MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzow
CkHttp_SetUrlVar $http "tasklist" "MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzow"
set resp [new_CkHttpResponse]
set success [CkHttp_HttpNoBody $http "GET" "https://www.googleapis.com/tasks/v1/lists/{$tasklist}/tasks" $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkFileAccess $fac
delete_CkHttp $http
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]"
# Use this online tool to generate parsing code from sample JSON:
# Generate Parsing Code from JSON
set json [new_CkJsonObject]
CkJsonObject_Load $json [CkHttpResponse_bodyStr $resp]
set kind [CkJsonObject_stringOf $json "kind"]
set etag [CkJsonObject_stringOf $json "etag"]
set i 0
set count_i [CkJsonObject_SizeOfArray $json "items"]
while {$i < $count_i} {
CkJsonObject_put_I $json $i
set kind [CkJsonObject_stringOf $json "items[i].kind"]
set id [CkJsonObject_stringOf $json "items[i].id"]
set etag [CkJsonObject_stringOf $json "items[i].etag"]
set title [CkJsonObject_stringOf $json "items[i].title"]
set updated [CkJsonObject_stringOf $json "items[i].updated"]
set selfLink [CkJsonObject_stringOf $json "items[i].selfLink"]
set position [CkJsonObject_stringOf $json "items[i].position"]
set notes [CkJsonObject_stringOf $json "items[i].notes"]
set status [CkJsonObject_stringOf $json "items[i].status"]
set due [CkJsonObject_stringOf $json "items[i].due"]
set i [expr $i + 1]
}
# Sample response:
# {
# "kind": "tasks#tasks",
# "etag": "\"84_7Cubo3y98GMV9bE3zQclHxhc/LTM3Njg4MjgyNA\"",
# "items": [
# {
# "kind": "tasks#task",
# "id": "MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzoyMDg3OTcyMDA1MTQ5NTA0",
# "etag": "\"84_7Cubo3y98GMV9bE3zQclHxhc/NjcyMTU4Mg\"",
# "title": "Get haircut",
# "updated": "2019-04-04T18:07:58.000Z",
# "selfLink": "https://www.googleapis.com/tasks/v1/lists/MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzow/tasks/MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzoyMDg3OTcyMDA1MTQ5NTA0",
# "position": "00000000001610612734",
# "notes": "Check in online first.",
# "status": "needsAction",
# "due": "2019-04-07T00:00:00.000Z"
# },
# {
# "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_CkHttpResponse $resp
delete_CkJsonObject $json