in

Créez des libellés Gmail avec l’API Gmail

Vous pouvez créer des étiquettes ou des dossiers dans Gmail par programmation avec l’API Gmail. Le service GmailApp de Google Apps Script inclut la GmailApp.createLabel()méthode pour créer rapidement de nouvelles étiquettes, mais un inconvénient est que cette méthode ne renvoie pas l’ID interne de l’étiquette Gmail.

L’ID d’étiquette Gmail est requis si vous souhaitez appliquer cette étiquette à plusieurs fils Gmail en une seule fois. Ainsi, nous utilisons le service Gmail avancé disponible dans Google Scripts pour créer des étiquettes Gmail.

const createGmailLabel = labelName => {
  const { labels = [] } = Gmail.Users.Labels.list('me');
  for (let i = 0; i < labels.length; i += 1) {
    const { name, id } = labels[i];
    if (name === labelName) {
      return id;
    }
  }
  const { id: newLabelId } = Gmail.Users.Labels.create(
    {
      name: labelName,
      labelListVisibility: 'labelShow',
      messageListVisibility: 'show'
    },
    'me'
  );
  return newLabelId;
};

Si vous devez appliquer cette étiquette Gmail à un tableau de messages Gmail, utilisez la batchModifyméthode disponible dans l’API Gmail.

const applyGmailLabel = (messageIds, labelName) => {
  const labelId = createGmailLabel(labelName);
  Gmail.Users.Messages.batchModify(
    {
      addLabelIds: [labelId],
      ids: messageIds
    },
    'me'
  );
};

Ces exemples sont écrits avec ES6 et Apps Script .

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Loading…

0

Written by admin

Comment envoyer des e-mails à partir d’une adresse différente (alias) avec Gmail

Comment copier des brouillons d’e-mails dans Gmail