我自制的Android电子邮件客户端应用程序,使用Java邮件,可以正常使用谷歌邮件服务。
我希望得到一些建议的一个用例确实涉及“未读消息”:
每当我在mail.google.com上标记为未读'电子邮件时,我的移动应用都会相应地将电子邮件更新为“未读”。好。
现在我正在使用inbox.google.com并且“标记为未读”选项不再存在。
正如Google的How Inbox works with Gmail页面上所述,某些操作相同,其他操作 类似 。
关于'标记为未读'功能,它在'收件箱'中不再存在 相反,“贪睡”选项正在取代它:
In GMail (mail.google.com): 'Mark as Unread'
In Inbox (inbox.google.com): 'Snooze' (NOT identical to 'Mark as unread', but has 'similar' behavior)
问题:
如何在我的android java代码中找出 ,消息被“打盹”?
我用Google搜索并检查GMail's extensions但找不到答案。
注意:
我还检查了Imap消息userFlags和systemFlags:没有:/
感谢。
答案 0 :(得分:1)
看起来Inbox的许多功能都是作为一种特殊的标签实现的:您可以搜索一个标签,但是在Gmail API中却无法显示为实际的Label或任何类型的元数据(或IMAP)。
尝试此操作(如果您是“收件箱”用户):打开Gmail网络客户端,然后在搜索框中输入label:snoozed
。它应该找到您所有被延后的消息。也适用于label:pinned
,label:done
,label:trips
和label:purchases
(收件箱智能捆绑包),label:lowpriority
等(也可以尝试使用以下任意一种创建新标签这些名称:它们都“保留供系统使用。”
即使它们没有出现在Gmail labels.list API中,您也可以 将这些特殊的收件箱标签搜索与{{3}中的q
(查询)参数一起使用}}和threads.list。
因此要弄清楚消息是否从您的代码中延后,请查看其消息ID是否出现在以messages.list
= q
调用的label:snoozed
中。
我看不到通过API在邮件中添加或删除这些特殊收件箱标签的任何方法,除非/直到Google像其他标签一样公开它们。 (FWIW,特殊的Gmail类别确实会出现在API中,例如,“更新”是ID为CATEGORY_UPDATES的系统标签。因此,也许希望诸如“延后的事情”也能将其纳入API,因为这些收件箱功能会找到自己的方式进入Gmail。)