Sample code for 30+ languages & platforms
React Native

Find a Label ID by Name

See more GMail REST API Examples

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

Chilkat React Native Downloads

React Native
import { Http, JsonObject, StringBuilder } from '@chilkat/react-native'

async function chilkatExample() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const http = new Http();
  http.authToken = 'GMAIL-ACCESS-TOKEN';

  const userId = 'me';
  http.setUrlVar('userId', userId);

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

  // Get the list of GMail labels as JSON.
  const sb = new StringBuilder();
  try {
    await http.quickGetSbAsync(url, sb);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  const json = new JsonObject();
  json.loadSb(sb);
  json.emitCompact = false;
  console.log(json.emit());

  if (http.lastStatus !== 200) {
    console.log('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...
  let jRecord = json.findRecord('labels', 'name', 'QA', false);
  if (json.lastMethodSuccess) {
    console.log(`The id of QA is: ${jRecord.stringOf('id')}`);
  }

  try {
    jRecord = json.findRecord('labels', 'name', '[Gmail]/testFolder', false);
    console.log(`The id of [Gmail]/testFolder is: ${jRecord.stringOf('id')}`);
  } catch {
    // json.findRecord() failed; continue anyway.
  }

  try {
    jRecord = json.findRecord('labels', 'name', 'questions', false);
    console.log(`The id of questions is: ${jRecord.stringOf('id')}`);
  } catch {
    // json.findRecord() failed; continue anyway.
  }

  // Output:

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