Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) Find a Label ID by NameLookup the ID of a GMail label by the label name.
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim http As Chilkat.Http Set http = Chilkat.NewHttp http.AuthToken = "GMAIL-ACCESS-TOKEN" userId = "me" success = http.SetUrlVar("userId",userId) url = "https://www.googleapis.com/gmail/v1/users/{$userId}/labels" ' Get the list of GMail labels as JSON. Dim sb As Chilkat.StringBuilder Set sb = Chilkat.NewStringBuilder success = http.QuickGetSb(url,sb) If (success <> True) Then Debug.Print http.LastErrorText Exit Sub End If Dim json As Chilkat.JsonObject Set json = Chilkat.NewJsonObject success = json.LoadSb(sb) json.EmitCompact = False Debug.Print json.Emit() If (http.LastStatus <> 200) Then Debug.Print "Failed." Exit Sub End If ' 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... Set jRecord = json.FindRecord("labels","name","QA",False) If (json.LastMethodSuccess = True) Then Debug.Print "The id of QA is: "; jRecord.StringOf("id") End If Set jRecord = json.FindRecord("labels","name","[Gmail]/testFolder",False) If (json.LastMethodSuccess = True) Then Debug.Print "The id of [Gmail]/testFolder is: "; jRecord.StringOf("id") End If Set jRecord = json.FindRecord("labels","name","questions",False) If (json.LastMethodSuccess = True) Then Debug.Print "The id of questions is: "; jRecord.StringOf("id") End If ' Output: ' The id of QA is: Label_5 ' The id of [Gmail]/testFolder is: Label_21 ' The id of questions is: Label_43 |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.