Обратите внимание на следующие действия и рекомендации при обновлении соответствующих свойств.
Свойство attendees и обновления собраний
Обновление события, которое включает только свойство attendees в тексте запроса, отправляет обновление собрания только измененным участникам.
Обновление события, которое удаляет участника, указанного в списке рассылки, отправляет обновление собрания всем участникам.
Свойство body и собрания по сети
Перед обновлением текста события, настроенного в качестве собрания по сети, сначала получите свойство body, примените соответствующие изменения к содержимому и сохраните BLOB-объект собрания для собрания по сети. Случайное удаление BLOB-объекта собрания из текста отключит собрание по сети.
Свойства end и start, а также соответствующие часовые пояса
При обновлении часового пояса начала или завершения события сначала найдите поддерживаемые часовые пояса, чтобы устанавливать только часовые пояса, настроенные для сервера почтового ящика пользователя.
Разрешения
Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения
Разрешения (в порядке повышения привилегий)
Делегированные (рабочая или учебная учетная запись)
В тексте запроса укажите только значения свойств для обновления. Существующие свойства, которые не включены в текст запроса, сохраняют свои предыдущие значения или пересчитываются на основе изменений других значений свойств.
В следующей таблице указаны свойства, которые можно обновить.
Если присвоено значение true, каждый участник видит только себя в приглашении на собрание и списке собрания Отслеживание. Значение по умолчанию: false.
importance
String
Важность события. Допустимые значения: low, normal, high.
isAllDay
Boolean
Задайте значение true, если событие длится весь день.
isOnlineMeeting
Boolean
True, если это событие содержит информацию о собраниях по сети; в противном случае — false. Значение по умолчанию: false. Необязательно.
isReminderOn
Boolean
Задайте значение true, если установлено напоминание пользователю о событии.
Места проведения мероприятия или участия в нем. Свойства location и locations всегда совпадают друг с другом. Если вы обновите свойство location, предыдущие места в коллекции locations будут удалены и заменены новым значением location.
onlineMeetingProvider
onlineMeetingProviderType
Представляет поставщика службы собраний по сети. Возможные значения: teamsForBusiness, skypeForBusiness и skypeForConsumer. Необязательно.
Так как ресурс event поддерживает расширения, с помощью операции PATCH можно добавлять, обновлять или удалять собственные данные, касающиеся определенных приложений, в настраиваемых свойствах расширения в существующем экземпляре event.
Если обновляемый ресурс event является главным событием повторяющегося ряда, содержит несколько участников и экземпляры, обновленные отдельно, отправляется несколько сообщений электронной почты с уведомлениями: одно для главного ряда и по одному для каждого обновленного экземпляра.
Отклик
В случае успеха этот метод возвратит код отклика 200 OK и обновленный объект event в теле отклика.
Примечание. Этот метод может вернуть отклик "HTTP 400 — ошибочный запрос" с кодом ошибки ErrorOccurrenceCrossingBoundary и следующим сообщением об ошибке: "Измененная копия пересекается со смежной копией или перекрывает ее". Это означает, что обновление нарушает следующее ограничение Outlook для повторяющихся исключений: повторение нельзя перемещать на день предыдущего повторения или до него, а также на день следующего повторения или после него.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Event
{
OriginalStartTimeZone = "originalStartTimeZone-value",
OriginalEndTimeZone = "originalEndTimeZone-value",
ResponseStatus = new ResponseStatus
{
Response = ResponseType.None,
Time = DateTimeOffset.Parse("datetime-value"),
},
Recurrence = null,
ReminderMinutesBeforeStart = 99,
IsOnlineMeeting = true,
OnlineMeetingProvider = OnlineMeetingProviderType.TeamsForBusiness,
IsReminderOn = true,
HideAttendees = false,
Categories = new List<string>
{
"Red category",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Events["{event-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Event event = new Event();
event.setOriginalStartTimeZone("originalStartTimeZone-value");
event.setOriginalEndTimeZone("originalEndTimeZone-value");
ResponseStatus responseStatus = new ResponseStatus();
responseStatus.setResponse(ResponseType.None);
OffsetDateTime time = OffsetDateTime.parse("datetime-value");
responseStatus.setTime(time);
event.setResponseStatus(responseStatus);
event.setRecurrence(null);
event.setReminderMinutesBeforeStart(99);
event.setIsOnlineMeeting(true);
event.setOnlineMeetingProvider(OnlineMeetingProviderType.TeamsForBusiness);
event.setIsReminderOn(true);
event.setHideAttendees(false);
LinkedList<String> categories = new LinkedList<String>();
categories.add("Red category");
event.setCategories(categories);
Event result = graphClient.me().events().byEventId("{event-id}").patch(event);
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.event import Event
from msgraph.generated.models.response_status import ResponseStatus
from msgraph.generated.models.response_type import ResponseType
from msgraph.generated.models.online_meeting_provider_type import OnlineMeetingProviderType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Event(
original_start_time_zone = "originalStartTimeZone-value",
original_end_time_zone = "originalEndTimeZone-value",
response_status = ResponseStatus(
response = ResponseType.None,
time = "datetime-value",
),
recurrence = None,
reminder_minutes_before_start = 99,
is_online_meeting = True,
online_meeting_provider = OnlineMeetingProviderType.TeamsForBusiness,
is_reminder_on = True,
hide_attendees = False,
categories = [
"Red category",
],
)
result = await graph_client.me.events.by_event_id('event-id').patch(request_body)