Sample code for 30+ languages & platforms
AutoIt

Create a New GMail Label

See more GMail REST API Examples

Demonstrates how to create a new GMail label.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oHttp = ObjCreate("Chilkat.Http")
$oHttp.AuthToken = "GMAIL-ACCESS-TOKEN"

Local $sUserId = "me"
$oHttp.SetUrlVar("userId",$sUserId)

; Create the JSON to be sent in the HTTP request body.
; The name of the new label is "questions".
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateString("name","questions")
$oJson.UpdateString("labelListVisibility","labelShow")
$oJson.UpdateString("messageListVisibility","show")

$oJson.EmitCompact = False
ConsoleWrite($oJson.Emit() & @CRLF)

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

Local $sUrl = "https://www.googleapis.com/gmail/v1/users/{$userId}/labels"
$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpJson("POST",$sUrl,$oJson,"application/json",$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("status = " & $oResp.StatusCode & @CRLF)

; A 200 response status indicate success.
If ($oResp.StatusCode <> 200) Then
    ConsoleWrite($oResp.BodyStr & @CRLF)
    ConsoleWrite("Failed." & @CRLF)
    Exit
EndIf

; A successful repsonse contains JSON that looks like this:

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

ConsoleWrite("response body:" & @CRLF)
ConsoleWrite($oResp.BodyStr & @CRLF)

ConsoleWrite("GMail label created!" & @CRLF)