Sample code for 30+ languages & platforms
Ruby

Create a New GMail Label

See more GMail REST API Examples

Demonstrates how to create a new GMail label.

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.

http = Chilkat::CkHttp.new()
http.put_AuthToken("GMAIL-ACCESS-TOKEN")

userId = "me"
http.SetUrlVar("userId",userId)

# Create the JSON to be sent in the HTTP request body.
# The name of the new label is "questions".
json = Chilkat::CkJsonObject.new()
json.UpdateString("name","questions")
json.UpdateString("labelListVisibility","labelShow")
json.UpdateString("messageListVisibility","show")

json.put_EmitCompact(false)
print json.emit() + "\n";

# The JSON contains this:
# {
#   "name": "questions",
#   "labelListVisibility": "labelShow",
#   "messageListVisibility": "show"
# }

url = "https://www.googleapis.com/gmail/v1/users/{$userId}/labels"
resp = Chilkat::CkHttpResponse.new()
success = http.HttpJson("POST",url,json,"application/json",resp)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

print "status = " + resp.get_StatusCode().to_s() + "\n";

# A 200 response status indicate success.
if (resp.get_StatusCode() != 200)
    print resp.bodyStr() + "\n";
    print "Failed." + "\n";
    exit
end

# A successful repsonse contains JSON that looks like this:

# {
#  "id": "Label_43",
#  "name": "questions",
#  "messageListVisibility": "show",
#  "labelListVisibility": "labelShow"
# }

print "response body:" + "\n";
print resp.bodyStr() + "\n";

print "GMail label created!" + "\n";