От расширенных свойств EWS до расширенных свойств Microsoft Graph

Может ли кто-нибудь сказать мне, как преобразовать расширенное свойство EWS в определение расширенного свойства Microsoft Graph, потому что я не могу получить доступ к расширенным свойствам с одним значением для встреч, созданных с помощью EWS. Когда я создаю встречу через Graph API, я могу получить доступ к определенному свойству.
Это мое определение свойства EWS:

ExtendedPropertyDefinition myPropertyDefinition = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, 1001, MapiPropertyType.String);

Я пробовал следующие варианты, но ни один из них мне не подходит. Я не получаю массив расширенных свойств с одним значением.

https://graph.microsoft.com/v1.0/me/calendar/events?$expand=SingleValueExtendedProperties($filter=Id eq 'String 1001')
https://graph.microsoft.com/v1.0/me/calendar/events?$expand=SingleValueExtendedProperties($filter=Id eq 'String 0x3E9')
https://graph.microsoft.com/v1.0/me/calendar/events?$expand=SingleValueExtendedProperties($filter=Id eq 'Integer 1001')
https://graph.microsoft.com/v1.0/me/calendar/events?$expand=SingleValueExtendedProperties($filter=Id eq 'Integer 0x3E9')

Я искал типичные проблемы, но ни одна из них мне не помогала.
Любые идеи будут полезны.
Спасибо.


person Nikolay Tashev    schedule 20.02.2020    source источник


Ответы (1)


Учитывая ваш пример, вам нужно включить GUID для общедоступной строки, чтобы он выглядел как

https://graph.microsoft.com/v1.0/me/calendar/events?$expand=SingleValueExtendedProperties($filter=(Id eq 'Integer {00020329-0000-0000-C000-000000000046} Id 0x3E90'))

Однако указанное вами определение свойства выглядит некорректно, если для именованных свойств с использованием значения крышки диапазон должен быть 0x8000 и 0x8FFF https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-pst/60003704-dfa6-476f-b782-ce8bb52a2df3

Этот диапазон свойств, который вы пытаетесь использовать, зарезервирован, и я удивлен, что он действительно работает, если вы используете PublicStrings, вероятно, используя уникальную строку в качестве идентификатора свойства, было бы лучше.

person Glen Scales    schedule 20.02.2020
comment
Я не понимал, что мне нужно установить пространство имен PublicStrings. Мне было немного сложно понять, как он устроен, но я думаю, что понял. Затем мне просто пришлось заменить Integer на String, и 0x3E9 был для меня правильным шестнадцатеричным. Спасибо за помощь! - person Nikolay Tashev; 21.02.2020