Sample code for 30+ languages & platforms
PowerShell

Find a Label ID by Name

See more GMail REST API Examples

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

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

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

$http = New-Object Chilkat.Http
$http.AuthToken = "GMAIL-ACCESS-TOKEN"

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

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

# Get the list of GMail labels as JSON.
$sb = New-Object Chilkat.StringBuilder
$success = $http.QuickGetSb($url,$sb)
if ($success -ne $true) {
    $($http.LastErrorText)
    exit
}

$json = New-Object Chilkat.JsonObject
$json.LoadSb($sb)
$json.EmitCompact = $false
$($json.Emit())

if ($http.LastStatus -ne 200) {
    $("Failed.")
    exit
}

# 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...
$jRecord = $json.FindRecord("labels","name","QA",$false)
if ($json.LastMethodSuccess -eq $true) {
    $("The id of QA is: " + $jRecord.StringOf("id"))

}

$jRecord = $json.FindRecord("labels","name","[Gmail]/testFolder",$false)
if ($json.LastMethodSuccess -eq $true) {
    $("The id of [Gmail]/testFolder is: " + $jRecord.StringOf("id"))

}

$jRecord = $json.FindRecord("labels","name","questions",$false)
if ($json.LastMethodSuccess -eq $true) {
    $("The id of questions is: " + $jRecord.StringOf("id"))

}

# Output:

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