Идентификатор календаря по умолчанию в Office 365 изменяется автоматически

Я использовал DLL V2 API Office 365 для выполнения календарных операций. Я сохраняю идентификатор календаря по умолчанию для выполнения операций с ним.

Последние два года он работал у меня нормально, но в последнее время с последнего месяца, когда я пытаюсь получить календари из своей учетной записи - просто чтобы проверить, доступен ли календарь, с кем я пытаюсь работать - полученный идентификатор календаря отличается от идентификатора календаря, полученного из O365 API

Идентификатор сохраненного календаря - 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 календаря - это уникальный идентификатор календаря. Однако во многих случаях его значение меняется. Есть ли способ идентифицировать тот же календарь с помощью changeKey? Есть идеи, как мы можем использовать свойство changeKey? https://msdn.microsoft.com/en-us/office/office365/api/complex-types-for-mail-contacts-calendar#CalendarResource

Мне тоже кажется странным, но для идентификатора календаря изменились только последние 30-35 символов. Может что-то не так с алгоритмом шифрования. Пожалуйста, предложите.


person Harsh Vats    schedule 05.01.2017    source источник


Ответы (1)


Я возвращаюсь с командой на этом. Идентификатор папки никогда не должен меняться. Он основан на PR_ENTRYID папки в магазине, который неизменен в почтовом ящике. Я не уверен, какие дополнительные качества они добавляют в id в REST - похоже, что происходит некоторая конкатенация.

Что касается ключа изменения, он не связан напрямую с идентификатором, поэтому на самом деле нет способа преобразовать ключ изменения в идентификатор. Похоже, это просто ошибка с нашей стороны. Но, конечно, ключ изменения меняется всякий раз, когда происходит изменение папки, и является непрозрачным blob (даже для нас на уровне OData и EWS).

Интересно, что вы также можете запросить расширенное свойство PR_ENTRYID с вашими выборками, и вы должны увидеть, что базовый идентификатор всегда один и тот же. Но это не исправит ничего, кроме будущего вашего понимания того, что происходит под покровом.

Я отправлю ответ, когда получу от них ответ.

person David Sterling - MSFT    schedule 07.02.2017
comment
Спасибо Дэвиду за быстрое решение. Надеюсь, что это быстро исправят. Есть ли где получить статус таких ошибок (просто для отслеживания исправления)? - person Harsh Vats; 08.02.2017
comment
Исправлена ​​ли эта ошибка? Мы все еще наблюдаем, что идентификаторы календаря меняются при получении календарей через API календаря MS Graph? - person jbiversen; 11.11.2020