使用EWS创建的MS-Graph API检索SingleValueExtendedProperties

时间:2019-06-16 18:12:10

标签: c# outlook microsoft-graph exchangewebservices

我的应用程序在Office 365中的Exchange与我的数据库之间同步事件。现在,我使用EWS并添加扩展属性(ExtendedProperties)来保存一些自定义数据。 数周以来,同步不再起作用。 Microsoft已打开票证,但没有解决方案。 因此,我想用MS-Graph API替换EWS并执行相同的操作。

对于每个事件,我都有一个这样创建的扩展属性:new ExtendedPropertyDefinition(myGUID,“ customName”,MapiPropertyType.String);

然后创建3个扩展属性,如下所示: 新的ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings,“ customName”,MapiPropertyType.String)

使用MS-Graph API,我可以得到第一个,因为我有一个GUID,但是找不到其他3个的扩展/过滤器请求

https://graph.microsoft.com/v1.0/users/xxxx@xxx.com/events/AAMkAAAAENAADrikE09bj2T7c3PGHoeoTWAASW=?$ expand = singleValueExtendedProperties($ filter = Id eq'String {myGUID} Name customName')

有人可以通过singleValueExtendedProperties过滤器帮助我获取其他扩展属性的请求吗?

如果更改过滤器格式,则响应为:'MapiPropertyType namespaceGuid名称propertyName','MapiPropertyType namespaceGuid Id属性ID'或'MapiPropertyType propertyTag'。”

1 个答案:

答案 0 :(得分:0)

PublicStrings的Guid为0020329-0000-0000-c000-000000000046,所以仅使用它和Or语句就可以工作,例如

$expand=SingleValueExtendedProperties(=(Id eq 'Binary 0x3019') or (Id eq 'Integer 
0x301D') or 
(Id eq 'Integer 0x301A') or (Id eq 'Binary 0x301B') or (Id eq 'SystemTime 0x301C') or 
(Id eq 'String {403FC56B-CD30-47C5-86F8-EDE9E35A022B} Name ComplianceTag') or (Id eq 
'Binary 0x348A')