Получение идентификатора метки для получения списка сообщений с помощью API GMAIL

#java #api #gmail

#java #API #gmail

Вопрос:

Я использую новый GMAIL API v1, который Google запустил несколько дней назад.

Я хочу получить список некоторых электронных писем, фильтруемых с помощью некоторых меток. Если я хочу это сделать, мне нужно получить идентификатор метки для каждого «label_name», но я просто могу получить список всех меток…

Есть идеи?

Диего.

Ответ №1:

Идентификатор метки совпадает с именем метки только для меток, созданных системой. Например, ЧАТ, ОТПРАВЛЕННЫЕ, ВХОДЯЩИЕ, КОРЗИНА и т. Д.

Пользовательские метки имеют идентификаторы, отличные от их имен.

Самый простой способ получить их — использовать API Explorer, о котором упоминал imCaps.

В качестве альтернативы, вы можете использовать это

 function listLabels() {
  var request = Gmail.Users.Labels.list('me');
  var name, id;
  for (var l = 0 ; l < request.labels.length; l  ) {
    name = request.labels[l].name;
    id = request.labels[l].id;
    Logger.log("%s. %s %s", l, name, id)
  }
}
  

Для работы этого кода вам необходимо включить API Gmail в расширенных службах Google.

Ответ №2:

Ну, я использовал:

 ListMessagesResponse messagesWithLabels = service.users().messages().list("me").setQ("label:mylabel").execute();
  

Это работает 🙂

Ответ №3:

ИДЕНТИФИКАТОР МЕТКИ — это то же имя МЕТКИ.

 {
   "id": "INBOX",
   "name": "INBOX",
   "messageListVisibility": "hide",
   "labelListVisibility": "labelShow",
   "type": "system"
  }
  

попробуйте здесь API Explorer с вашими учетными данными.

Комментарии:

1. Только для системных меток. Созданные пользователем метки имеют уникальные идентификаторы