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
(Go) 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. var success bool http := chilkat.NewHttp() http.SetAuthToken("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 := chilkat.NewStringBuilder() success = http.QuickGetSb(url,sb) if success != true { fmt.Println(http.LastErrorText()) http.DisposeHttp() sb.DisposeStringBuilder() return } json := chilkat.NewJsonObject() json.LoadSb(sb) json.SetEmitCompact(false) fmt.Println(*json.Emit()) if http.LastStatus() != 200 { fmt.Println("Failed.") http.DisposeHttp() sb.DisposeStringBuilder() json.DisposeJsonObject() return } // 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() == true { fmt.Println("The id of QA is: ", *jRecord.StringOf("id")) jRecord.DisposeJsonObject() } jRecord = json.FindRecord("labels","name","[Gmail]/testFolder",false) if json.LastMethodSuccess() == true { fmt.Println("The id of [Gmail]/testFolder is: ", *jRecord.StringOf("id")) jRecord.DisposeJsonObject() } jRecord = json.FindRecord("labels","name","questions",false) if json.LastMethodSuccess() == true { fmt.Println("The id of questions is: ", *jRecord.StringOf("id")) jRecord.DisposeJsonObject() } // Output: // The id of QA is: Label_5 // The id of [Gmail]/testFolder is: Label_21 // The id of questions is: Label_43 http.DisposeHttp() sb.DisposeStringBuilder() json.DisposeJsonObject() |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.