Office 365默认日历ID会自动更改

问题描述:

我使用的是Office 365 API的V2 DLL来执行日历操作。 我正在保存用于对其执行操作的默认日历ID。Office 365默认日历ID会自动更改

从过去两年来,它对我来说工作正常,但最近1个月以来,当我试图从我的账户提取日历 - 只是为了检查日历是否适用于我正在尝试工作的人 - 获取日历ID是从O365 API获取日历ID不同

保存的日历ID - AQMkADc5NDI0NjFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX8jvkC_BGp2m1nqTgcABqRbG9B8nEivpWgOOBcJGwAAAgEGAAAABqRbG9B8nEivpWgOOBcJGwABH-QZPwAAAA==

新的响应 -

[{ 
    "IsBooking": false, 
    "IsAdditional": false, 
    "CalendarName": "Calendar", 
    "CalendarId": "AQMkADc5NDI0NjFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX8jvkC_BGp2m1nqTgcABqRbG9B8nEivpWgOOBcJGwAAAgEGAAAABqRbG9B8nEivpWgOOBcJGwABHKkz6wAAAA==", 
    "Selected": false, 
    "IsDefault": true, 
    "HasWriteAccess": true, 
    "IsFreeBusy": true, 
    "EWS_URL": null, 
    "CalendarColour": "#5D61DF", 
    "TimeZoneId": null 
}] 

但是变化不是永久性的,一两天后,当, Ť再次呼叫,日历ID变回到默认日历ID中保存在db中的相同ID。

日历的ID是日历的唯一标识符。但是,在许多情况下,它的价值发生了变化。有没有什么办法可以通过changeKey来识别相同的日历?任何想法我们如何使用changeKey属性? https://msdn.microsoft.com/en-us/office/office365/api/complex-types-for-mail-contacts-calendar#CalendarResource

我发现它也很奇怪,但只有最后30-35个字符因日历ID而改变。加密算法可能有问题。 请建议。

我和这个团队一起回旋。一个文件夹的ID不应该改变。它基于商店中文件夹的PR_ENTRYID,该文件夹在邮箱中是不可变的。我不确定他们在REST中编写了什么额外的好东西 - 它确实出现了一些串联。

至于更改密钥,它不直接与id相关,所以实际上没有办法将更改密钥转换为id。这似乎只是我们身边的一个错误。但是,当然,每当文件夹发生变化时,更改键都会更改,并且是不透明的blob(即使在OData和EWS层对我们来说也是如此)。

感兴趣的是,您也可以使用您的提取请求PR_ENTRYID扩展属性,并且您应该看到底层ID始终相同。但是这不能解决任何问题,除了将来你对封面上发生的事情的理解。

我会在收到他们的回复时回复。

+0

感谢大卫的快速周转。希望快速修复这个问题。 是否有任何地方可以获得此类错误的状态(仅用于跟踪修复)? –