我希望有人能够建议一种好的技术,能够按日期排序Gmail邮件线程,而无需获取潜在数千个邮件线程的详细信息。
现在,我使用threads.list
获取一个邮件线程列表,并使用它们被返回的任何顺序。这在大多数情况下都是正确的,因为它以相反的时间顺序返回邮件线程。但是,好像是由线程中第一封电子邮件确定时间顺序,而不是线程中最近的电子邮件。
这对于将新邮件放在列表顶部来说是可以接受的,但如果某人回复了几天前开始的邮件线程,那么它并不理想。我想将其置于列表顶部,因为它是一条新消息。但是threads.list
根据第一封消息对其进行排序。
我认为答案可能是根据historyId
对邮件线程进行排序。这样可以按最近的消息排序。但它也会受到任何其他线程更改的影响。如果用户更新邮件标签(例如加星标),则historyId
会更改。然后,即使不是新邮件,该邮件也会排在顶部。
我可以使用threads.get
来获取线程的详细信息,并根据此进行更智能的排序。但用户可能有成千上万个线程,我不想为每个线程都进行这个调用。
有没有更好的方法?我错过了什么吗?
users.messages
并没有按照一致的顺序排序,所以虽然我可以通过线程 ID 进行组织,但这不能帮助我们按日期排序。 - Tom Harrington