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
(DataFlex) Find a Label ID by NameLookup the ID of a GMail label by the label name.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoHttp String sUserId String sUrl Variant vSb Handle hoSb Handle hoJson Variant vJRecord Handle hoJRecord String sTemp1 Integer iTemp1 Boolean bTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End Set ComAuthToken Of hoHttp To "GMAIL-ACCESS-TOKEN" Move "me" To sUserId Get ComSetUrlVar Of hoHttp "userId" sUserId To iSuccess Move "https://www.googleapis.com/gmail/v1/users/{$userId}/labels" To sUrl // Get the list of GMail labels as JSON. Get Create (RefClass(cComChilkatStringBuilder)) To hoSb If (Not(IsComObjectCreated(hoSb))) Begin Send CreateComObject of hoSb End Get pvComObject of hoSb to vSb Get ComQuickGetSb Of hoHttp sUrl vSb To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get pvComObject of hoSb to vSb Get ComLoadSb Of hoJson vSb To iSuccess Set ComEmitCompact Of hoJson To False Get ComEmit Of hoJson To sTemp1 Showln sTemp1 Get ComLastStatus Of hoHttp To iTemp1 If (iTemp1 <> 200) Begin Showln "Failed." Procedure_Return End // 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... Get ComFindRecord Of hoJson "labels" "name" "QA" False To vJRecord If (IsComObject(vJRecord)) Begin Get Create (RefClass(cComChilkatJsonObject)) To hoJRecord Set pvComObject Of hoJRecord To vJRecord End Get ComLastMethodSuccess Of hoJson To bTemp1 If (bTemp1 = True) Begin Get ComStringOf Of hoJRecord "id" To sTemp1 Showln "The id of QA is: " sTemp1 Send Destroy of hoJRecord End Get ComFindRecord Of hoJson "labels" "name" "[Gmail]/testFolder" False To vJRecord If (IsComObject(vJRecord)) Begin Get Create (RefClass(cComChilkatJsonObject)) To hoJRecord Set pvComObject Of hoJRecord To vJRecord End Get ComLastMethodSuccess Of hoJson To bTemp1 If (bTemp1 = True) Begin Get ComStringOf Of hoJRecord "id" To sTemp1 Showln "The id of [Gmail]/testFolder is: " sTemp1 Send Destroy of hoJRecord End Get ComFindRecord Of hoJson "labels" "name" "questions" False To vJRecord If (IsComObject(vJRecord)) Begin Get Create (RefClass(cComChilkatJsonObject)) To hoJRecord Set pvComObject Of hoJRecord To vJRecord End Get ComLastMethodSuccess Of hoJson To bTemp1 If (bTemp1 = True) Begin Get ComStringOf Of hoJRecord "id" To sTemp1 Showln "The id of questions is: " sTemp1 Send Destroy of hoJRecord End // Output: // The id of QA is: Label_5 // The id of [Gmail]/testFolder is: Label_21 // The id of questions is: Label_43 End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.