2016-12-01 1 views
0

Ich verwende die Microsoft Outlook-REST-API zum Synchronisieren von Nachrichten in einem Ordner mithilfe von skipTokens mit der .Outlook REST API 500 LegacyPagingToken-Fehler

Nach 62 erfolgreichen Runden der Ergebnisse, bekomme ich einen Fehler 500 ErrorInternalServerError mit der Meldung Unable to cast object of type 'LegacyPagingToken' to type 'Microsoft.Exchange.Services.OData.Model.SkipToken'

ich versucht habe:

  • Retrying die gleiche Abfrage (https://outlook.office.com/api/v2.0/me/MailFolders/Inbox/messages/?%24skipToken=1BWUA9eXs5dN89tPsr_FOvtzINQAA0Cwk5o), die im gleichen Fehler führt
  • Neustart der Synchronisierung, die zum selben Fehler am selben Punkt führt
  • Hinzufügen einer neuen Nachricht in den Posteingang und Neustart der Synchronisierung, was zu demselben Fehler bei der s führt amer Punkt
  • Verschieben die Nachrichten von diesem Teil des Sync in einem anderen Ordner (falls die Nachrichten selbst waren das Problem verursacht), die an der gleichen Stelle in dem gleichen Fehler führt

Hat jemand in diesen Laufe Fehler oder haben Vorschläge, was es oder Workarounds verursachen könnte?

Antwort

0

Es sieht aus wie das Problem an meinem Ende beim Parsen der SkipToken von der @odata.nextLink Antwort war. Das Token in der ursprünglichen Frage ist ungültig - das tatsächliche skipToken, das von der API zurückgegeben wurde, hatte am Ende -AAAA. Nach 63 Abfragen, in denen der skipToken inkrementiert wurde, begann das Base64-codierte Formular mit Zeichen, die der von mir verwendete reguläre Ausdruck nicht gefunden hatte. Der Wechsel von einem \w Regexp zu einem richtigen URL-Parser löste das Problem.

+0

Sie sollten wirklich nicht versuchen, die nächste Seite zu analysieren. Es soll für seine Konsumenten undurchsichtig sein. Sie sollten den Link der nächsten Seite verwenden, ohne ihn zu interpretieren. – Yogesh

Verwandte Themen