通过 MS Graph 更新活动 API 删除活动中的加入按钮
Updating event via MS Graph API removing Join Button in the event
我在 Outlook 日历中创建了一个事件。该事件包含团队加入 link。
当我从 MS Graph API 更新事件时,正在删除加入按钮。
这是我正在做的示例代码:
void UpdateEventInCalendar(string eventId)
{
var getCalEvent = Task.Run(() =>
{
return service.Me.Events[eventId].Request().GetAsync();
});
Task.WaitAll(getCalEvent);
BodyType bodyType = BodyType.Text;
Event eventToUpdate = getCalEvent.Result;
Event updatedEvent = new Event();
updatedEvent.Id = eventToUpdate.Id;
updatedEvent.Subject = "Updated text";
updatedEvent.ShowAs = eventToUpdate.ShowAs;
updatedEvent.Body = new ItemBody
{
ContentType = bodyType,
Content = "Some new content"
};
graphServiceClient.Me.Events[updatedEvent.Id].Request().UpdateAsync(updatedEvent.Id);
}
更新前的事件:
活动更新内容:
更新后事件:
如何在更新活动的同时保留活动?
尝试不更新正文,您将能够使其正常工作。看到这个 thread。是的,如果您在没有 isonlinemeeting 的情况下更新正文,团队会议 blob 将被删除,这会使 isonlinemeeting 属性 变为 false,我们将失去按钮。
作为一种解决方法,您可以尝试使用此方法来保持您的在线会议出现:
首先:在你的addEvent函数中,你的body应该是这样的
AddedEvent.Body = new ItemBody
{
ContentType = BodyType.Html,
Content = "<p id = 'MsgContent'>Your Body</p>"
};
其二:在更新事件中,可以这样改变body内容
HtmlDocument html = new HtmlDocument();
html.LoadHtml(EventToUpdate.Body.Content);
html.GetElementbyId("Msgcontent").InnerHtml = "Your new body";
updatedEvent.Body = EventToUpdate.Body;
updatedEvent.Body.Content = html.DocumentNode.OuterHtml;
我在 Outlook 日历中创建了一个事件。该事件包含团队加入 link。 当我从 MS Graph API 更新事件时,正在删除加入按钮。
这是我正在做的示例代码:
void UpdateEventInCalendar(string eventId)
{
var getCalEvent = Task.Run(() =>
{
return service.Me.Events[eventId].Request().GetAsync();
});
Task.WaitAll(getCalEvent);
BodyType bodyType = BodyType.Text;
Event eventToUpdate = getCalEvent.Result;
Event updatedEvent = new Event();
updatedEvent.Id = eventToUpdate.Id;
updatedEvent.Subject = "Updated text";
updatedEvent.ShowAs = eventToUpdate.ShowAs;
updatedEvent.Body = new ItemBody
{
ContentType = bodyType,
Content = "Some new content"
};
graphServiceClient.Me.Events[updatedEvent.Id].Request().UpdateAsync(updatedEvent.Id);
}
更新前的事件:
活动更新内容:
更新后事件:
如何在更新活动的同时保留活动?
尝试不更新正文,您将能够使其正常工作。看到这个 thread。是的,如果您在没有 isonlinemeeting 的情况下更新正文,团队会议 blob 将被删除,这会使 isonlinemeeting 属性 变为 false,我们将失去按钮。
作为一种解决方法,您可以尝试使用此方法来保持您的在线会议出现:
首先:在你的addEvent函数中,你的body应该是这样的
AddedEvent.Body = new ItemBody
{
ContentType = BodyType.Html,
Content = "<p id = 'MsgContent'>Your Body</p>"
};
其二:在更新事件中,可以这样改变body内容
HtmlDocument html = new HtmlDocument();
html.LoadHtml(EventToUpdate.Body.Content);
html.GetElementbyId("Msgcontent").InnerHtml = "Your new body";
updatedEvent.Body = EventToUpdate.Body;
updatedEvent.Body.Content = html.DocumentNode.OuterHtml;