Как да получите флагове за съобщения, както се вижда в API на Gmail

Опитвам се да получа имейл съобщения от Gmail с помощта на RESTful API и не виждам как мога да получа флагове за съобщения (прочетени/непрочетени и т.н.). Има ли някакъв начин да получите флагове за съобщения от Gmail с помощта на RESTful API?

Благодаря.


person SlavaG    schedule 24.07.2014    source източник


Отговори (3)


Какво имате предвид под "флагове" и "папки"? свикнали ли сте да използвате IMAP и да го използвате в този смисъл? това, което обикновено бихте искали, е да гледате етикети като "НЕПРОЧЕТЕНО". тези етикети са твърдо кодирани системни етикети и са документирани на: https://developers.google.com/gmail/api/guides/labels

те са точно тези стойности, никога не са превеждани на други езици, както е уеб потребителският интерфейс.

gmail няма "флагове" или "папки", а само етикети. флаговете и концепциите за папки са (донякъде халтурно) предоставени за поддръжка на IMAP. ако искате да видите цялото непрочетено съобщение във входящата кутия, просто направете нещо като:

>>> messages.list(labelIds=["INBOX", "UNREAD'])
person Eric D    schedule 11.08.2014
comment
Да, работех с IMAP и сега мигрирам от него към Gmail RESTFul API. Благодаря за отговора. - person SlavaG; 12.08.2014

Състоянието на прочетено/непрочетено съобщение се указва от наличието на етикета НЕПРОЧЕТЕНО. Можете също да видите дали дадено съобщение е маркирано със звезда. Вижте Управление на етикети.

person Brandon Jewett-Hall    schedule 24.07.2014
comment
Интересно, ако мога да разчитам на имената на етикетите? Еднакви ли са за всеки език или UNERAD е само за английски? И също така си мислех, че в списъка с етикети, който получавам от Message, виждам само етикети (папки), но сега трябва да филтрирам папки и флагове. Много объркващо - IMHO. Благодаря все пак, беше полезно. - person SlavaG; 25.07.2014
comment
Папките и флаговете са концепции за IMAP, те не се свързват добре с Gmail. Gmail IMAP прави най-доброто, за да отговаря на стандарта IMAP, но не винаги е очевидно. В Gmail всичко е етикети дори INBOX и UNREAD. Тези идентификатори на системни етикети са стандартни и не се променят: developers.google.com/gmail/ api/ръководства/етикети - person Eric D; 15.04.2016
comment
@SlavaG да, изглежда имената на етикетите са както е показано в документите, и не е преведено в API - person guival; 13.09.2017

Можете да го направите като:

ListMessagesResponse emails = service.users().messages().list("me").setQ("label:UNREAD").execute();
// Getting my unread mails.

И работи с всеки език.

person Diego Jovanovič    schedule 28.07.2014
comment
Това не е това, което търся, исках да получа всички съобщения и техните флагове, а не само непрочетените съобщения. Използването на етикети за създаване на знамена е грозно :). - person SlavaG; 28.07.2014