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