Sample code for 30+ languages & platforms
AutoIt

Find a Label ID by Name

See more GMail REST API Examples

Lookup the ID of a GMail label by the label name.

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)

Local $sUrl = "https://www.googleapis.com/gmail/v1/users/{$userId}/labels"

;  Get the list of GMail labels as JSON.
$oSb = ObjCreate("Chilkat.StringBuilder")
$bSuccess = $oHttp.QuickGetSb($sUrl,$oSb)
If ($bSuccess <> True) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.LoadSb($oSb)
$oJson.EmitCompact = False
ConsoleWrite($oJson.Emit() & @CRLF)

If ($oHttp.LastStatus <> 200) Then
    ConsoleWrite("Failed." & @CRLF)
    Exit
EndIf

;  The JSON returned looks like this:
;  {
;    "labels": [
;      {
;        "id": "Label_5",
;        "name": "QA",
;        "messageListVisibility": "show",
;        "labelListVisibility": "labelShow",
;        "type": "user"
;      },
;      {
;        "id": "Label_21",
;        "name": "[Gmail]/testFolder",
;        "type": "user"
;      },
;      {
;        "id": "CATEGORY_PERSONAL",
;        "name": "CATEGORY_PERSONAL",
;        "type": "system"
;      },
;  	...

;  The name of the label is generally known because it's what we visually see.
;  The id is what we need to get.  Assuming the name is unique,
;  find the JSON record having name=<desired name>
;  For example...
Local $oJRecord = $oJson.FindRecord("labels","name","QA",False)
If ($oJson.LastMethodSuccess = True) Then
    ConsoleWrite("The id of QA is: " & $oJRecord.StringOf("id") & @CRLF)

EndIf

$oJRecord = $oJson.FindRecord("labels","name","[Gmail]/testFolder",False)
If ($oJson.LastMethodSuccess = True) Then
    ConsoleWrite("The id of [Gmail]/testFolder is: " & $oJRecord.StringOf("id") & @CRLF)

EndIf

$oJRecord = $oJson.FindRecord("labels","name","questions",False)
If ($oJson.LastMethodSuccess = True) Then
    ConsoleWrite("The id of questions is: " & $oJRecord.StringOf("id") & @CRLF)

EndIf

;  Output:

;  The id of QA is: Label_5
;  The id of [Gmail]/testFolder is: Label_21
;  The id of questions is: Label_43