Android - Java邮件 - Gmail'标记为未读'和&收件箱'贪睡'

时间:2018-02-16 14:16:44

标签: android gmail javamail google-inbox

我自制的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:没有:/

感谢。

1 个答案:

答案 0 :(得分:1)

看起来Inbox的许多功能都是作为一种特殊的标签实现的:您可以搜索一个标签,但是在Gmail API中却无法显示为实际的Label或任何类型的元数据(或IMAP)。

尝试此操作(如果您是“收件箱”用户):打开Gmail网络客户端,然后在搜索框中输入label:snoozed。它应该找到您所有被延后的消息。也适用于label:pinnedlabel:donelabel:tripslabel: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。)