Microsoft graph api Microsoft Graph API-日历视图删除事件
我正在尝试从给定会议室的CalendarView API中删除/取消和提取事件。我有事件ID,正在尝试以下操作: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. 是否无法从日历视图中删除/取消关联 我注意到
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()
它不工作,您认为可能有什么问题?它不工作,您认为可能有什么问题?