PowerShell
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
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