Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerShell) Find a Label ID by NameLookup the ID of a GMail label by the label name.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # 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 |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.