Gmail API中的查询搜索不能作为web版本使用

2024-04-25 05:50:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试提取带有某种星号颜色的消息(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封电子邮件。另一个查询运行良好(已尝试)发件人:。。。", "有:附件", "有:驱动器", "之前:。。。", "之后:。。。“等等)。找不到解决方案,我需要按星星的颜色对电子邮件进行排序。你知道吗


Tags: inidexecute颜色responseserviceerrorquery
1条回答
网友
1楼 · 发布于 2024-04-25 05:50:23

在gmailapi中查询超级明星是相当棘手的。您可能需要将其更改为例如l:^ss_sb表示蓝星,如explained in this blogpost。你知道吗

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

相关问题 更多 >