2011-11-04 77 views
1

我正在使用雅虎邮件API以下至上的顺序下载雅虎帐户电子邮件的应用程序。如何同步在特定电子邮件后收到的电子邮件。

应用同步逻辑就像下面

可以说,收件箱中包括1000个电子邮件。

1)最初通过使用带参数startMid = 0和numMid = 100的“ListMessages”获取100个电子邮件消息ID。 2)处理组块电子邮件。 3)现在通过给出startMid = 100和numMid = 100来请求下一个块电子邮件。

如果用户在同步过程中没有删除任何电子邮件,上述逻辑工作正常。

有什么办法根据消息ID(字符串唯一值)而不是消息号来检索下一个块电子邮件。

同步来自上次处理的消息的电子邮件的逻辑是什么?

PS:我不能依靠消息编号(因为消息编号并不意味着消息的唯一标识符)。

回答

0

我在找同样的东西,发现“如何获得仅从客户端上次同步到达的电子邮件。” (http://developer.yahoo.com/forum/Yahoo-Mail-Web-Services-API/How-to-get-only-emails-which/1320329478746-16f18e6a-aadd-40c3-b259-e095ce80a1e6)哪里有人回复“此功能目前不可用,但我们计划在未来支持此功能。”日期:2011年11月3日上午11:24

我想你可以查询mailTables(与YQL)或ListMessage(Api)并获得完整列表的消息id(没有任何信息)例如:SELECT * FROM ymail.messages WHERE numInfo =“0”

然后“计数”你得到的最后一条消息的位置,然后从该数字中获得邮件。例如:SELECT * FROM ymail.messages WHERE startMid =“3”和numMid =“100”

您怎么看? 来自阿根廷的问候 PS:抱歉我的恐怖英语