Sample code for 30+ languages & platforms
Java

Find a Label ID by Name

See more GMail REST API Examples

Lookup the ID of a GMail label by the label name.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Http http = new Http();
        http.setAuthToken("GMAIL-ACCESS-TOKEN");

        String userId = "me";
        http.setUrlVar("userId", userId);

        String url = "https://www.googleapis.com/gmail/v1/users/{$userId}/labels";

        // Get the list of GMail labels as JSON.
        StringBuilder sb = new StringBuilder();
        try {
            http.quickGetSb(url, sb);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        JsonObject json = new JsonObject();
        json.loadSb(sb);
        json.setEmitCompact(false);
        System.out.println(json.emit());

        if (http.getLastStatus() != 200) {
            System.out.println("Failed.");
            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...
        JsonObject jRecord = json.findRecord("labels", "name", "QA", false);
        if (jRecord != null) {
            System.out.println("The id of QA is: " + jRecord.stringOf("id"));
            jRecord.close();
        }

        jRecord = json.findRecord("labels", "name", "[Gmail]/testFolder", false);
        if (jRecord != null) {
            System.out.println("The id of [Gmail]/testFolder is: " + jRecord.stringOf("id"));
            jRecord.close();
        }

        jRecord = json.findRecord("labels", "name", "questions", false);
        if (jRecord != null) {
            System.out.println("The id of questions is: " + jRecord.stringOf("id"));
            jRecord.close();
        }

        // Output:

        // The id of QA is: Label_5
        // The id of [Gmail]/testFolder is: Label_21
        // The id of questions is: Label_43
    }
}