Outlook REST API 500 LegacyPagingToken错误

时间:2016-12-01 17:34:40

标签: outlook office365api outlook-restapi

我使用Microsoft Outlook REST API使用skipTokens与Prefer: odata.track-changes header同步文件夹中的邮件。

在62轮成功结果后,我收到错误500 ErrorInternalServerError,消息为Unable to cast object of type 'LegacyPagingToken' to type 'Microsoft.Exchange.Services.OData.Model.SkipToken'

我试过了:

  • 重试相同的查询(https://outlook.office.com/api/v2.0/me/MailFolders/Inbox/messages/?%24skipToken=1BWUA9eXs5dN89tPsr_FOvtzINQAA0Cwk5o),这会导致相同的错误
  • 重新启动同步,导致同一点出现同样的错误
  • 在收件箱中添加新邮件并重新启动同步,这会在同一点产生同样的错误
  • 将同步部分的消息移动到另一个文件夹(如果消息本身导致问题),这会在同一点产生相同的错误

是否有人遇到此错误或有关于可能导致此问题或变通方法的建议?

1 个答案:

答案 0 :(得分:0)

@odata.nextLink响应中解析skipToken时,问题似乎就在我身边。原始问题中的令牌无效 - 从API传回的实际skipToken最后有-AAAA。在63个查询之后,其中skipToken递增,Base64编码的表单开始使用我正在使用的正则表达式找不到的字符。从\w正则表达式切换到正确的URL解析器解决了这个问题。