我正在尝试提取带有特定颜色星星的邮件(GmailAPI)。例如,蓝星。
def listMessagesMatchingQuery(service, user_id='me', query=''):
try:
response = service.users().messages().list(userId=user_id,
q=query).execute()
print(response)
messages = []
if 'messages' in response:
messages.extend(response['messages'])
while 'nextPageToken' in response:
page_token = response['nextPageToken']
response = service.users().messages().list(userId=user_id, q=query,
pageToken=page_token).execute()
messages.extend(response['messages'])
return messages
except errors.HttpError as error:
print('An error occurred: %s' % error)
print(listMessagesMatchingQuery(GMAIL, query="has:blue-star"))
它不像网页版那样工作,它返回0封电子邮件。另一个查询效果很好(尝试了“from:…”、“has:附件”、“has: Drive”、“前:…”、“后:…”等)。找不到解决方案,我需要按星星的颜色对电子邮件进行排序。
在GmailAPI中查询超级明星是相当棘手的。您可能需要将其更改为例如蓝色明星的l:^ss_sb
,如本文所述。
has:yellow-star <=> l:^ss_sy
has:blue-star <=> l:^ss_sb
has:red-star <=> l:^ss_sr
has:orange-star <=> l:^ss_so
has:green-star <=> l:^ss_sg
has:purple-star <=> l:^ss_sp
has:red-bang <=> l:^ss_cr
has:yellow-bang <=> l:^ss_cy
has:blue-info <=> l:^ss_cb
has:orange-guillemet <=> l:^ss_co
has:green-check <=> l:^ss_cg
has:purple-question <=> l:^ss_cp