Microsoft graph api Microsoft Graph API-日历视图删除事件

Microsoft graph api Microsoft Graph API-日历视图删除事件,microsoft-graph-api,Microsoft Graph Api,我正在尝试从给定会议室的CalendarView API中删除/取消和提取事件。我有事件ID,正在尝试以下操作: graphClient.Users["conferenceroom@tenant.com"] .CalendarView[eventId] .Request(options) .DeleteAsync() 正在接收以下错误消息: Message: The OData request is not supported. 是否无法从日历视图中删除/取消关联 我注意到

我正在尝试从给定会议室的CalendarView API中删除/取消和提取事件。我有事件ID,正在尝试以下操作:

graphClient.Users["conferenceroom@tenant.com"]
   .CalendarView[eventId]
   .Request(options)
   .DeleteAsync()
正在接收以下错误消息:

Message: The OData request is not supported.
是否无法从
日历视图中删除/取消关联

我注意到,当我创建事件(在我的用户下)时,它的
ID
与我从
日历视图中拉取相同的
事件时的ID
不同


想法?拉动每个会议室的
日历视图时,我没有组织者
事件的上下文,对吗?

要删除事件,需要使用
/Events
段,而不是
/CalendarView
。您可以从日历视图中获取ID,然后只需执行以下操作:

graphClient.Users[""].Events[eventId].Request().DeleteAsync();

要删除事件,您需要使用
/events
段,而不是
/calendarview
。您可以从日历视图中获取ID,然后只需执行以下操作:

graphClient.Users[""].Events[eventId].Request().DeleteAsync();
基本代码示例:

            var query = new List<Microsoft.Graph.Option>()
                 {
                  new Microsoft.Graph.QueryOption("$filter", $"iCalUId eq '{eventId}'")
                 };

            var events = await graphClient.Users[User.Identity.Name].Events.Request(query).GetAsync();

            var evt = events.First();

            await graphClient.Users[User.Identity.Name].Events[evt.Id].Request().DeleteAsync();
var query=newlist()
{
新的Microsoft.Graph.QueryOption(“$filter”,$“iCalUId eq'{eventId}'”)
};
var events=await-graphClient.Users[User.Identity.Name].events.Request(query.GetAsync();
var evt=events.First();
等待graphClient.Users[User.Identity.Name].Events[evt.Id].Request().DeleteAsync();
基本代码示例:

            var query = new List<Microsoft.Graph.Option>()
                 {
                  new Microsoft.Graph.QueryOption("$filter", $"iCalUId eq '{eventId}'")
                 };

            var events = await graphClient.Users[User.Identity.Name].Events.Request(query).GetAsync();

            var evt = events.First();

            await graphClient.Users[User.Identity.Name].Events[evt.Id].Request().DeleteAsync();
var query=newlist()
{
新的Microsoft.Graph.QueryOption(“$filter”,$“iCalUId eq'{eventId}'”)
};
var events=await-graphClient.Users[User.Identity.Name].events.Request(query.GetAsync();
var evt=events.First();
等待graphClient.Users[User.Identity.Name].Events[evt.Id].Request().DeleteAsync();

我看到的是,当我创建活动时,我将自己和会议室电子邮件都作为与会者。我得到一个事件ID。然后,当我拉取该会议室的日历视图事件时,它是一个不同的ID。我正在我的电子邮件下创建事件,而不是会议室电子邮件。事件的
ID
可以更改。如果要查找可存储的唯一标识符,则应使用
iCalUId
属性,而不是
id
。请注意,您不能基于
iCalUid
删除,但可以使用
/events?$filter=iCalUid eq'{value}'
@marclafler快速查找事件的
id
,谢谢!如何使用.NET图形包装器进行过滤?我尝试过此方法,但不确定是否存在:.Events.Request().Expand($“singleValueExtendedProperties($filter=iCalUId eq'{eventId}'))。GetAsync()
iCalUId
不是扩展属性。您可以使用
Events.Request().filter(“iCalUid eq'{iCalUid}').GetAsync()进行筛选
我看到的是,当我创建活动时,我将自己和会议室电子邮件都作为与会者。我得到一个活动ID。然后,当我为该会议室提取日历视图活动时,它是一个不同的ID。我在我的电子邮件下创建活动,而不是在会议室电子邮件下创建活动。活动的
ID
可以更改。如果您是要查找可存储的唯一标识符,应使用
iCalUId
属性而不是
id
。请注意,不能基于
iCalUId
删除,但可以使用
/events?$filter=iCalUId eq'{value}快速查找事件的
id
@marclafler谢谢!我该如何使用.NET图形包装器进行过滤?我已经尝试过了,但不确定我是否在那里:.Events.Request().Expand($”singleValueExtendedProperties($filter=iCalUId eq'{eventId}'))。GetAsync()
iCalUId
不是扩展属性。可以使用
Events.Request().filter($”iCalUId eq'{iCalUId}'))进行过滤.GetAsync()
它不工作,您认为可能有什么问题?它不工作,您认为可能有什么问题?