我正在做一个预订房间的项目,我们需要使用一些扩展属性。
我们一直在使用 singleValueLegacyExtendedProperty,但正如我在另一个问题中报告的那样,microsoft graph 无法正确更新值(SingleValueExtendedProperty 仅在房间接受事件时传播)
我尝试使用图形资源管理器在某些特定事件中创建扩展:
当我检索房间事件时,扩展属性不存在(由于凭据,我必须使用邮递员,虽然我的用户有权访问这个房间,但我无法在图形资源管理器中使用我的凭据扩展扩展)
我正在做一个预订房间的项目,我们需要使用一些扩展属性。
我们一直在使用 singleValueLegacyExtendedProperty,但正如我在另一个问题中报告的那样,microsoft graph 无法正确更新值(SingleValueExtendedProperty 仅在房间接受事件时传播)
我尝试使用图形资源管理器在某些特定事件中创建扩展:
当我检索房间事件时,扩展属性不存在(由于凭据,我必须使用邮递员,虽然我的用户有权访问这个房间,但我无法在图形资源管理器中使用我的凭据扩展扩展)
我得到了使用 singleValueLegacyExtendedProperty 的解决方法。
我发现当您更改事件的一些相关信息(例如标题、日期等)时,它会强制传播。所以我所做的是在事件标题的末尾放置一个空格,如果事件末尾有空格,我们将其删除。喜欢(使用 c# sdk):
...
GraphServiceClient calendarService = await _microsoftAuth.AuthenticateService(calendarConfiguration);
if (!string.IsNullOrEmpty(eventData.Title) && eventData.Title.EndsWith(' '))
{
eventData.Title = eventData.Title.Remove(eventData.Title.Length - 1);
}
else
{
eventData.Title += " ";
}
Event toUpdate = new Event
{
Id = eventData.EventId,
Subject = eventData.Title,
SingleValueExtendedProperties = EventExtensionsMapper.Map(eventData),
};
var updateResult = await calendarService.Users[calendar.Email].Events[toUpdate.Id].Request().UpdateAsync(toUpdate)
...