我使用的是Outlook REST API v2.0,并按照文档中的说明操作:https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations#synchronize-messages
一切顺利,我发送Prefer: odata.track-change
标题首字母和" delta"请求,收到Preference-Applied: odata.track-changes
初始回复(不是" delta"或"跳过"回复),接收nextLink
,同时仍有要同步的消息,但是当回合结束时,文档说我应该收到deltaLink
,我可以在下一轮中使用,但是我没有收到它。
这里我打印请求URL,接收消息的计数和解析的json响应的键:
<<<< init url: https://outlook.office.com/api/v2.0/users/UserX@myorg.onmicrosoft.com/MailFolders/Inbox/messages
>> init messages: 100
>> init keys: [u'@odata.deltaLink', u'@odata.context', u'value']
<<<<<<< https://outlook.office.com/api/v2.0/users/UserX@myorg.onmicrosoft.com/MailFolders/Inbox/messages/?%24deltatoken=x6ACBKs7JAHtb4FNhCplyPMw9QUAAGlsP20BAAAA
>> messages: 100
>> response keys: [u'@odata.nextLink', u'@odata.context', u'value']
<<<<<<< https://outlook.office.com/api/v2.0/users/UserX@myorg.onmicrosoft.com/MailFolders/Inbox/messages/?%24skipToken=x6ACAqs7JAHtb4FNhCplyPMw9QUAAGlsP20CAAAA
>> messages: 100
>> response keys: [u'@odata.nextLink', u'@odata.context', u'value']
<<<<<<< https://outlook.office.com/api/v2.0/users/UserX@myorg.onmicrosoft.com/MailFolders/Inbox/messages/?%24skipToken=x6ACAqs7JAHtb4FNhCplyPMw9QUAAGlsP20DAAAA
>> messages: 100
>> response keys: [u'@odata.nextLink', u'@odata.context', u'value']
<<<<<<< https://outlook.office.com/api/v2.0/users/UserX@myorg.onmicrosoft.com/MailFolders/Inbox/messages/?%24skipToken=x6ACAqs7JAHtb4FNhCplyPMw9QUAAGlsP20EAAAA
>> messages: 93
>> response keys: [u'@odata.context', u'value']
如您所见,我也使用x-AnchorMailbox
模仿,但未明确禁止。
那么,我做错了什么,或者这个API坏了吗?