1

我正在做一个预订房间的项目,我们需要使用一些扩展属性。

我们一直在使用 singleValueLegacyExtendedProperty,但正如我在另一个问题中报告的那样,microsoft graph 无法正确更新值(SingleValueExtendedProperty 仅在房间接受事件时传播

我尝试使用图形资源管理器在某些特定事件中创建扩展:

在此处输入图像描述

当我检索此特定事件时,它是好的,扩展属性在那里: 在此处输入图像描述

当我检索房间事件时,扩展属性不存在(由于凭据,我必须使用邮递员,虽然我的用户有权访问这个房间,但我无法在图形资源管理器中使用我的凭据扩展扩展)

在此处输入图像描述

4

1 回答 1

0

我得到了使用 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)
...
于 2020-06-09T18:16:12.547 回答