2017-07-12 2 views
0

ich Outlook REST API v2.0 bin mit, und folgen Sie den Anweisungen von docs: https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations#synchronize-messagesOutlook REST API-Sync-Nachrichten: keine Deltalink in letzten Antwort

Alles geht gut, ich sende Prefer: odata.track-change Header mit Anfangs- und "delta" Anfragen, erhalten Preference-Applied: odata.track-changes mit erster Antwort (nicht mit "Delta" oder "überspringen" Antworten), erhalten nextLink, während es immer noch Nachrichten zu synchronisieren sind, aber wenn Runde vorbei ist, sagen Dokumente sagen, dass ich deltaLink erhalten soll, die ich verwenden kann folgende Runden, aber ich erhalte es nicht.

Hier drucke ich Anfrage-URL, Anzahl der empfangenen Nachrichten und Schlüssel von geparsten json Antwort:

<<<< 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'] 

Wie Sie auch sehen, kann ich x-AnchorMailbox Identitätswechsel verwenden, aber es ist nicht ausdrücklich verboten.

Also, mache ich etwas falsch, oder diese API ist kaputt?

+0

ich es getestet und hatte kein Problem. Um es klar zu sagen, senden Sie den Prefer-Header (mit odata.track-changes und odata.maxpagesize) mit jeder Anfrage? –

+0

Ich sende 'prefer: odata.track-changes' mit" initial "und" delta "Anfragen. Ich habe versucht, sowohl "Maxpagesize" zu liefern und zu überspringen - dasselbe Verhalten. – gistart

+0

Ok, hinzugefügt 'prefer: odata.track-changes' zu allen Anfragen und jetzt funktioniert es. Text und Beispiele in der Dokumentation sagen beide, dass es nicht mit 'skipToken' angefordert wird, was eine Fehlinformation ist. – gistart

Antwort

0

Es stellte sich heraus, trotz Dokumentation in Texten und Beispielen sagen Sie nicht senden Prefer: odata.track-changes Header mit skipToken Anfragen, müssen Sie tun, um zu erhalten "deltaToken".

enter image description here