Sample code for 30+ languages & platforms
Ruby

Update a Task's Status to "completed"

See more Google Tasks Examples

Demonstrates how to update a Google task's status to "completed".

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

# 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.

fac = Chilkat::CkFileAccess.new()
accessToken = fac.readEntireTextFile("qa_data/tokens/googleTasks.txt","utf-8")
if (fac.get_LastMethodSuccess() == false)
    print fac.lastErrorText() + "\n";
    exit
end

http = Chilkat::CkHttp.new()

http.put_AuthToken(accessToken)

taskId = "MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzoyMDg3OTcyMDA1MTQ5NTA0"

# Create the JSON to update the task status to completed.
json = Chilkat::CkJsonObject.new()
json.UpdateString("id",taskId)
json.UpdateString("status","completed")

# Specify the ID's for both the task list and the task.
http.SetUrlVar("tasklist","MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzow")
http.SetUrlVar("task",taskId)

url = "https://www.googleapis.com/tasks/v1/lists/{$tasklist}/tasks/{$task}"
resp = Chilkat::CkHttpResponse.new()
success = http.HttpJson("PUT",url,json,"application/json",resp)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

# Show the response body.
print resp.bodyStr() + "\n";

# Examine the response status code.
print "response status code: " + resp.get_StatusCode().to_s() + "\n";

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

# 
# {
#  "kind": "tasks#task",
#  "id": "MDM4MzQ4NTA3NDQwMDUxMzQ2OTQ6NzAwOTA4MDA1NzU2ODYwMzoyMDg3OTcyMDA1MTQ5NTA0",
#  "etag": "\"84_7Cubo3y98GMV9bE3zQclHxhc/MTQyMDUzMzQ4MA\"",
#  "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": "completed",
#  "completed": "2019-04-04T18:38:56.000Z"
# }
# 
# response status code: 200