Tcl
Tcl
Create a New GMail Label
See more GMail REST API Examples
Demonstrates how to create a new GMail label.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.
set http [new_CkHttp]
CkHttp_put_AuthToken $http "GMAIL-ACCESS-TOKEN"
set userId "me"
CkHttp_SetUrlVar $http "userId" $userId
# Create the JSON to be sent in the HTTP request body.
# The name of the new label is "questions".
set json [new_CkJsonObject]
CkJsonObject_UpdateString $json "name" "questions"
CkJsonObject_UpdateString $json "labelListVisibility" "labelShow"
CkJsonObject_UpdateString $json "messageListVisibility" "show"
CkJsonObject_put_EmitCompact $json 0
puts [CkJsonObject_emit $json]
# The JSON contains this:
# {
# "name": "questions",
# "labelListVisibility": "labelShow",
# "messageListVisibility": "show"
# }
set url "https://www.googleapis.com/gmail/v1/users/{$userId}/labels"
set resp [new_CkHttpResponse]
set success [CkHttp_HttpJson $http "POST" $url $json "application/json" $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkHttpResponse $resp
exit
}
puts "status = [CkHttpResponse_get_StatusCode $resp]"
# A 200 response status indicate success.
if {[CkHttpResponse_get_StatusCode $resp] != 200} then {
puts [CkHttpResponse_bodyStr $resp]
puts "Failed."
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkHttpResponse $resp
exit
}
# A successful repsonse contains JSON that looks like this:
# {
# "id": "Label_43",
# "name": "questions",
# "messageListVisibility": "show",
# "labelListVisibility": "labelShow"
# }
puts "response body:"
puts [CkHttpResponse_bodyStr $resp]
puts "GMail label created!"
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkHttpResponse $resp