Я использую Outlook REST API версии 2.0 и следую инструкциям из документации: https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations#synchronize-сообщения
Все идет нормально, я отправляю Prefer: odata.track-change
заголовок с начальными и "дельта" запросами, получаю Preference-Applied: odata.track-changes
с начальным ответом (не с "дельта" или "пропуском" ответов), получаю nextLink
пока еще есть сообщения для синхронизации, но strong> когда раунд заканчивается, в документах говорится, что я должен получить deltaLink
, которые я могу использовать в следующих раундах, но я их не получаю.
Здесь я печатаю URL-адрес запроса, количество полученных сообщений и ключи проанализированного ответа json:
<<<< init url: https://outlook.office.com/api/v2.0/users/[email protected]/MailFolders/Inbox/messages
>> init messages: 100
>> init keys: [u'@odata.deltaLink', u'@odata.context', u'value']
<<<<<<< https://outlook.office.com/api/v2.0/users/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/MailFolders/Inbox/messages/?%24skipToken=x6ACAqs7JAHtb4FNhCplyPMw9QUAAGlsP20EAAAA
>> messages: 93
>> response keys: [u'@odata.context', u'value']
Как видите, я также использую x-AnchorMailbox
олицетворение, но это явно не запрещено.
Итак, я что-то делаю не так, или этот API не работает?
prefer: odata.track-changes
с начальным и дельта-запросами. Я пробовал как предоставить, так и пропуститьmaxpagesize
- такое же поведение. - person gistart   schedule 13.07.2017prefer: odata.track-changes
ко всем запросам и теперь работает. Текст и примеры в документации говорят, что это не нужно с запросомskipToken
, что является дезинформацией. - person gistart   schedule 13.07.2017