【发布时间】:2017-11-21 23:22:55
【问题描述】:
我希望有人可以提出一种按日期对 Gmail 线程进行排序的好方法,而无需获取可能有数千个线程的详细信息。
现在我使用threads.list 来获取线程列表,并且我使用它们返回的任何顺序。这是大部分正确的,因为它以相反的时间顺序返回线程。除了时间顺序显然是由线程中的第一条消息而不是线程的最新消息确定的。
如果有人对几天前开始的主题有新的回复,这对在列表顶部获取新消息来说很好。我想把它放在列表的顶部,因为它是一条新消息。但是threads.list 让它根据第一条消息进行排序。
我认为答案可能是根据historyId 对线程进行排序。这确实按最新消息排序。但它也受到任何其他线程更改的影响。如果用户更新消息上的标签(例如,通过加星标),historyId 会更改。然后消息排序到顶部,即使它不是新消息。
我可以使用threads.get 来获取线程的详细信息,并在此基础上进行更智能的排序。但用户可能有数千个线程,我不想对每个线程都进行此调用。
有人有更好的方法吗?我错过了什么?
【问题讨论】:
-
你检查过“users.messages”然后按他们的threadId组织吗?
-
@MiguelOrtiz 我有,但
users.messages的排序不一致,所以虽然我可以按线程 ID 进行组织,但这对按日期排序没有帮助。
标签: swift google-api gmail gmail-api