Пространство имен: microsoft.graph
Создание одного или нескольких многозначных расширенных свойств в новом или существующем экземпляре ресурса.
Поддерживаются следующие ресурсы пользователей:
Поддерживаются следующие ресурсы группы:
Дополнительные сведения о том, когда следует использовать расширенные свойства или открытые расширения и как задавать расширенные свойства, см. в статье Обзор расширенных свойств.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
✅ |
✅ |
✅ |
✅ |
Разрешения
В зависимости от ресурса, в который создается расширенное свойство, и типа разрешения (делегированного или приложения), которое вы запрашиваете, разрешение, указанное в следующей таблице, является минимальным, необходимым для вызова этого API. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Поддерживаемый ресурс |
Делегированное (рабочая или учебная учетная запись) |
Делегированное (личная учетная запись Майкрософт) |
Приложение |
calendar |
Calendars.ReadWrite |
Calendars.ReadWrite |
Calendars.ReadWrite |
contact |
Contacts.ReadWrite |
Contacts.ReadWrite |
Contacts.ReadWrite |
contactFolder |
Contacts.ReadWrite |
Contacts.ReadWrite |
Contacts.ReadWrite |
event |
Calendars.ReadWrite |
Calendars.ReadWrite |
Calendars.ReadWrite |
calendar для групп; |
Group.ReadWrite.All |
Не поддерживается |
Не поддерживается |
group event; |
Group.ReadWrite.All |
Не поддерживается |
Не поддерживается |
post для групп. |
Group.ReadWrite.All |
Не поддерживается |
Не поддерживается |
mailFolder |
Mail.ReadWrite |
Mail.ReadWrite |
Mail.ReadWrite |
message |
Mail.ReadWrite |
Mail.ReadWrite |
Mail.ReadWrite |
HTTP-запрос
Вы можете создавать расширенные свойства в новом или существующем экземпляре ресурса.
Чтобы создать одно или несколько расширенных свойств в новом экземпляре ресурса, используйте тот же запрос REST, что и при создании этого экземпляра, включив в тело запроса свойства нового экземпляра ресурса и расширенное свойство.
Некоторые ресурсы поддерживают создание несколькими способами. Дополнительные сведения о создании этих экземпляров ресурса вы найдете в соответствующих статьях о создании message, mailFolder, event, calendar, contact, contactFolder, group event и group post.
Ниже приведен синтаксис запросов.
POST /me/messages
POST /users/{id|userPrincipalName}/messages
POST /me/mailFolders/{id}/messages
POST /me/mailFolders
POST /users/{id|userPrincipalName}/mailFolders
POST /me/events
POST /users/{id|userPrincipalName}/events
POST /me/calendars
POST /users/{id|userPrincipalName}/calendars
POST /me/contacts
POST /users/{id|userPrincipalName}/contacts
POST /me/contactFolders
POST /users/{id|userPrincipalName}/contactFolders
POST /groups/{id}/events
POST /groups/{id}/threads/{id}/posts/{id}/reply
POST /groups/{id}/conversations/{id}/threads/{id}/posts/{id}/reply
POST /groups/{id}/threads/{id}/reply
POST /groups/{id}/conversations/{id}/threads/{id}/reply
POST /groups/{id}/threads
POST /groups/{id}/conversations
Примечание.
Для вызова конечной точки /me
требуется вход пользователя и, следовательно, делегированное разрешение. Разрешения приложений не поддерживаются при использовании конечной /me
точки.
Чтобы создать одно или несколько расширенных свойств в существующем экземпляре ресурса, укажите экземпляр в запросе и включите расширенное свойство в тело запроса.
Заметка Невозможно создать расширенное свойство в существующей записи группы.
PATCH /me/messages/{id}
PATCH /users/{id|userPrincipalName}/messages/{id}
PATCH /me/mailFolders/{id}/messages/{id}
PATCH /me/mailFolders/{id}
PATCH /users/{id|userPrincipalName}/mailFolders/{id}
PATCH /me/events/{id}
PATCH /users/{id|userPrincipalName}/events/{id}
PATCH /me/calendars/{id}
PATCH /users/{id|userPrincipalName}/calendars/{id}
PATCH /me/contacts/{id}
PATCH /users/{id|userPrincipalName}/contacts/{id}
PATCH /me/contactFolders/{id}
PATCH /users/{id|userPrincipalName}/contactFolders/{id}
PATCH /groups/{id}/events/{id}
Примечание.
Для вызова конечной точки /me
требуется вход пользователя и, следовательно, делегированное разрешение. Разрешения приложений не поддерживаются при использовании конечной /me
точки.
Текст запроса
Предоставьте тело в формате JSON для каждого объекта multiValueLegacyExtendedProperty в свойстве коллекции multiValueExtendedProperties для экземпляра ресурса.
Свойство |
Тип |
Описание |
multiValueExtendedProperties |
Коллекция multiValueLegacyExtendedProperty |
Массив из одного или нескольких многозначных расширенных свойств. |
id |
Строка |
Для каждого свойства в коллекции multiValueExtendedProperties укажите это свойство, чтобы идентифицировать свойство . Он должен соответствовать одному из поддерживаемых форматов. Дополнительные сведения см. в статье Обзор расширенных свойств Outlook . Обязательно. |
значение |
string |
Укажите значение для каждого свойства в коллекции multiValueExtendedProperties. Обязательно. |
При создании расширенного свойства в новом экземпляре ресурса в дополнение к новой коллекции multiValueExtendedProperties предоставьте представление json этого экземпляра ресурса (то есть сообщение, mailFolder, событие и т. д.).
Ответ
Код ответа
В результате успешной операции создания расширенного свойства в новом экземпляре ресурса возвращается код 201 Created
(в случае post для групп в зависимости от используемого метода операция может возвращать код 200 OK
или 202 Accepted
).
В результате успешной операции создания в существующем экземпляре ресурса возвращается код 200 OK
.
Текст ответа
При создании расширенного свойства в поддерживаемом ресурсе, отличном от post для групп, отклик включает только новый или существующий экземпляр (он будет без нового расширенного свойства). Чтобы просмотреть только что созданное расширенное свойство, разверните экземпляр с этим свойством.
При создании расширенного свойства в новом экземпляре post для групп отклик включает только код отклика и не содержит ни новой записи, ни расширенного свойства. Невозможно создать расширенное свойство в существующей записи группы.
Примеры
Пример 1. Создание расширенного свойства с несколькими значениями для события
Запрос
В первом примере в новом экземпляре event создается многозначное расширенное свойство с помощью одной операции POST. Помимо свойств, которые обычно включаются для нового события, текст запроса включает коллекцию multiValueExtendedProperties , которая содержит одно расширенное свойство.
Тело запроса включает следующие данные для многозначного расширенного свойства:
-
id. Задает свойство в виде массива строк с заданным идентификатором GUID и именем
Recreation
.
-
value. Задает
Recreation
в виде массива из 3 строковых значений, ["Food", "Hiking", "Swimming"]
.
POST https://graph.microsoft.com/v1.0/me/events
Content-Type: application/json
{
"subject": "Family reunion",
"body": {
"contentType": "HTML",
"content": "Let's get together this Thanksgiving!"
},
"start": {
"dateTime": "2015-11-26T09:00:00",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2015-11-29T21:00:00",
"timeZone": "Pacific Standard Time"
},
"attendees": [
{
"emailAddress": {
"address": "[email protected]",
"name": "Terrie Barrera"
},
"type": "Required"
},
{
"emailAddress": {
"address": "[email protected]",
"name": "Lauren Solis"
},
"type": "Required"
}
],
"multiValueExtendedProperties": [
{
"id":"StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation",
"value": ["Food", "Hiking", "Swimming"]
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Event
{
Subject = "Family reunion",
Body = new ItemBody
{
ContentType = BodyType.Html,
Content = "Let's get together this Thanksgiving!",
},
Start = new DateTimeTimeZone
{
DateTime = "2015-11-26T09:00:00",
TimeZone = "Pacific Standard Time",
},
End = new DateTimeTimeZone
{
DateTime = "2015-11-29T21:00:00",
TimeZone = "Pacific Standard Time",
},
Attendees = new List<Attendee>
{
new Attendee
{
EmailAddress = new EmailAddress
{
Address = "[email protected]",
Name = "Terrie Barrera",
},
Type = AttendeeType.Required,
},
new Attendee
{
EmailAddress = new EmailAddress
{
Address = "[email protected]",
Name = "Lauren Solis",
},
Type = AttendeeType.Required,
},
},
MultiValueExtendedProperties = new List<MultiValueLegacyExtendedProperty>
{
new MultiValueLegacyExtendedProperty
{
Id = "StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation",
Value = new List<string>
{
"Food",
"Hiking",
"Swimming",
},
},
},
};
// 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.PostAsync(requestBody);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
mgc users events create --user-id {user-id} --body '{\
"subject": "Family reunion",\
"body": {\
"contentType": "HTML",\
"content": "Let's get together this Thanksgiving!"\
},\
"start": {\
"dateTime": "2015-11-26T09:00:00",\
"timeZone": "Pacific Standard Time"\
},\
"end": {\
"dateTime": "2015-11-29T21:00:00",\
"timeZone": "Pacific Standard Time"\
},\
"attendees": [\
{\
"emailAddress": {\
"address": "[email protected]",\
"name": "Terrie Barrera"\
},\
"type": "Required"\
},\
{\
"emailAddress": {\
"address": "[email protected]",\
"name": "Lauren Solis"\
},\
"type": "Required"\
}\
],\
"multiValueExtendedProperties": [\
{\
"id":"StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation",\
"value": ["Food", "Hiking", "Swimming"]\
}\
]\
}\
'
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewEvent()
subject := "Family reunion"
requestBody.SetSubject(&subject)
body := graphmodels.NewItemBody()
contentType := graphmodels.HTML_BODYTYPE
body.SetContentType(&contentType)
content := "Let's get together this Thanksgiving!"
body.SetContent(&content)
requestBody.SetBody(body)
start := graphmodels.NewDateTimeTimeZone()
dateTime := "2015-11-26T09:00:00"
start.SetDateTime(&dateTime)
timeZone := "Pacific Standard Time"
start.SetTimeZone(&timeZone)
requestBody.SetStart(start)
end := graphmodels.NewDateTimeTimeZone()
dateTime := "2015-11-29T21:00:00"
end.SetDateTime(&dateTime)
timeZone := "Pacific Standard Time"
end.SetTimeZone(&timeZone)
requestBody.SetEnd(end)
attendee := graphmodels.NewAttendee()
emailAddress := graphmodels.NewEmailAddress()
address := "[email protected]"
emailAddress.SetAddress(&address)
name := "Terrie Barrera"
emailAddress.SetName(&name)
attendee.SetEmailAddress(emailAddress)
type := graphmodels.REQUIRED_ATTENDEETYPE
attendee.SetType(&type)
attendee1 := graphmodels.NewAttendee()
emailAddress := graphmodels.NewEmailAddress()
address := "[email protected]"
emailAddress.SetAddress(&address)
name := "Lauren Solis"
emailAddress.SetName(&name)
attendee1.SetEmailAddress(emailAddress)
type := graphmodels.REQUIRED_ATTENDEETYPE
attendee1.SetType(&type)
attendees := []graphmodels.Attendeeable {
attendee,
attendee1,
}
requestBody.SetAttendees(attendees)
multiValueLegacyExtendedProperty := graphmodels.NewMultiValueLegacyExtendedProperty()
id := "StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation"
multiValueLegacyExtendedProperty.SetId(&id)
value := []string {
"Food",
"Hiking",
"Swimming",
}
multiValueLegacyExtendedProperty.SetValue(value)
multiValueExtendedProperties := []graphmodels.MultiValueLegacyExtendedPropertyable {
multiValueLegacyExtendedProperty,
}
requestBody.SetMultiValueExtendedProperties(multiValueExtendedProperties)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
events, err := graphClient.Me().Events().Post(context.Background(), requestBody, nil)
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Event event = new Event();
event.setSubject("Family reunion");
ItemBody body = new ItemBody();
body.setContentType(BodyType.Html);
body.setContent("Let's get together this Thanksgiving!");
event.setBody(body);
DateTimeTimeZone start = new DateTimeTimeZone();
start.setDateTime("2015-11-26T09:00:00");
start.setTimeZone("Pacific Standard Time");
event.setStart(start);
DateTimeTimeZone end = new DateTimeTimeZone();
end.setDateTime("2015-11-29T21:00:00");
end.setTimeZone("Pacific Standard Time");
event.setEnd(end);
LinkedList<Attendee> attendees = new LinkedList<Attendee>();
Attendee attendee = new Attendee();
EmailAddress emailAddress = new EmailAddress();
emailAddress.setAddress("[email protected]");
emailAddress.setName("Terrie Barrera");
attendee.setEmailAddress(emailAddress);
attendee.setType(AttendeeType.Required);
attendees.add(attendee);
Attendee attendee1 = new Attendee();
EmailAddress emailAddress1 = new EmailAddress();
emailAddress1.setAddress("[email protected]");
emailAddress1.setName("Lauren Solis");
attendee1.setEmailAddress(emailAddress1);
attendee1.setType(AttendeeType.Required);
attendees.add(attendee1);
event.setAttendees(attendees);
LinkedList<MultiValueLegacyExtendedProperty> multiValueExtendedProperties = new LinkedList<MultiValueLegacyExtendedProperty>();
MultiValueLegacyExtendedProperty multiValueLegacyExtendedProperty = new MultiValueLegacyExtendedProperty();
multiValueLegacyExtendedProperty.setId("StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation");
LinkedList<String> value = new LinkedList<String>();
value.add("Food");
value.add("Hiking");
value.add("Swimming");
multiValueLegacyExtendedProperty.setValue(value);
multiValueExtendedProperties.add(multiValueLegacyExtendedProperty);
event.setMultiValueExtendedProperties(multiValueExtendedProperties);
Event result = graphClient.me().events().post(event);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const event = {
subject: 'Family reunion',
body: {
contentType: 'HTML',
content: 'Let\'s get together this Thanksgiving!'
},
start: {
dateTime: '2015-11-26T09:00:00',
timeZone: 'Pacific Standard Time'
},
end: {
dateTime: '2015-11-29T21:00:00',
timeZone: 'Pacific Standard Time'
},
attendees: [
{
emailAddress: {
address: '[email protected]',
name: 'Terrie Barrera'
},
type: 'Required'
},
{
emailAddress: {
address: '[email protected]',
name: 'Lauren Solis'
},
type: 'Required'
}
],
multiValueExtendedProperties: [
{
id: 'StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation',
value: ['Food', 'Hiking', 'Swimming']
}
]
};
await client.api('/me/events')
.post(event);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Event;
use Microsoft\Graph\Generated\Models\ItemBody;
use Microsoft\Graph\Generated\Models\BodyType;
use Microsoft\Graph\Generated\Models\DateTimeTimeZone;
use Microsoft\Graph\Generated\Models\Attendee;
use Microsoft\Graph\Generated\Models\EmailAddress;
use Microsoft\Graph\Generated\Models\AttendeeType;
use Microsoft\Graph\Generated\Models\MultiValueLegacyExtendedProperty;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Event();
$requestBody->setSubject('Family reunion');
$body = new ItemBody();
$body->setContentType(new BodyType('hTML'));
$body->setContent('Let\'s get together this Thanksgiving!');
$requestBody->setBody($body);
$start = new DateTimeTimeZone();
$start->setDateTime('2015-11-26T09:00:00');
$start->setTimeZone('Pacific Standard Time');
$requestBody->setStart($start);
$end = new DateTimeTimeZone();
$end->setDateTime('2015-11-29T21:00:00');
$end->setTimeZone('Pacific Standard Time');
$requestBody->setEnd($end);
$attendeesAttendee1 = new Attendee();
$attendeesAttendee1EmailAddress = new EmailAddress();
$attendeesAttendee1EmailAddress->setAddress('[email protected]');
$attendeesAttendee1EmailAddress->setName('Terrie Barrera');
$attendeesAttendee1->setEmailAddress($attendeesAttendee1EmailAddress);
$attendeesAttendee1->setType(new AttendeeType('required'));
$attendeesArray []= $attendeesAttendee1;
$attendeesAttendee2 = new Attendee();
$attendeesAttendee2EmailAddress = new EmailAddress();
$attendeesAttendee2EmailAddress->setAddress('[email protected]');
$attendeesAttendee2EmailAddress->setName('Lauren Solis');
$attendeesAttendee2->setEmailAddress($attendeesAttendee2EmailAddress);
$attendeesAttendee2->setType(new AttendeeType('required'));
$attendeesArray []= $attendeesAttendee2;
$requestBody->setAttendees($attendeesArray);
$multiValueExtendedPropertiesMultiValueLegacyExtendedProperty1 = new MultiValueLegacyExtendedProperty();
$multiValueExtendedPropertiesMultiValueLegacyExtendedProperty1->setId('StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation');
$multiValueExtendedPropertiesMultiValueLegacyExtendedProperty1->setValue(['Food', 'Hiking', 'Swimming', ]);
$multiValueExtendedPropertiesArray []= $multiValueExtendedPropertiesMultiValueLegacyExtendedProperty1;
$requestBody->setMultiValueExtendedProperties($multiValueExtendedPropertiesArray);
$result = $graphServiceClient->me()->events()->post($requestBody)->wait();
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
Import-Module Microsoft.Graph.Calendar
$params = @{
subject = "Family reunion"
body = @{
contentType = "HTML"
content = "Let's get together this Thanksgiving!"
}
start = @{
dateTime = "2015-11-26T09:00:00"
timeZone = "Pacific Standard Time"
}
end = @{
dateTime = "2015-11-29T21:00:00"
timeZone = "Pacific Standard Time"
}
attendees = @(
@{
emailAddress = @{
address = "[email protected]"
name = "Terrie Barrera"
}
type = "Required"
}
@{
emailAddress = @{
address = "[email protected]"
name = "Lauren Solis"
}
type = "Required"
}
)
multiValueExtendedProperties = @(
@{
id = "StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation"
value = @(
"Food"
"Hiking"
"Swimming"
)
}
)
}
# A UPN can also be used as -UserId.
New-MgUserEvent -UserId $userId -BodyParameter $params
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
# 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.item_body import ItemBody
from msgraph.generated.models.body_type import BodyType
from msgraph.generated.models.date_time_time_zone import DateTimeTimeZone
from msgraph.generated.models.attendee import Attendee
from msgraph.generated.models.email_address import EmailAddress
from msgraph.generated.models.attendee_type import AttendeeType
from msgraph.generated.models.multi_value_legacy_extended_property import MultiValueLegacyExtendedProperty
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Event(
subject = "Family reunion",
body = ItemBody(
content_type = BodyType.Html,
content = "Let's get together this Thanksgiving!",
),
start = DateTimeTimeZone(
date_time = "2015-11-26T09:00:00",
time_zone = "Pacific Standard Time",
),
end = DateTimeTimeZone(
date_time = "2015-11-29T21:00:00",
time_zone = "Pacific Standard Time",
),
attendees = [
Attendee(
email_address = EmailAddress(
address = "[email protected]",
name = "Terrie Barrera",
),
type = AttendeeType.Required,
),
Attendee(
email_address = EmailAddress(
address = "[email protected]",
name = "Lauren Solis",
),
type = AttendeeType.Required,
),
],
multi_value_extended_properties = [
MultiValueLegacyExtendedProperty(
id = "StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation",
value = [
"Food",
"Hiking",
"Swimming",
],
),
],
)
result = await graph_client.me.events.post(request_body)
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
Отклик
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('4d29052a-70e8-4251-a7de-542b522cdf25')/events/$entity",
"@odata.etag": "W/\"F458GvdYA0ijqgp2gyJwzAAAOCEJmw==\"",
"id": "AAMkADI0NzVmYjQ0LWQyZTItNDIxYS1iMWE2LTIyZGJiOGM0N2YzMQBGAAAAAABaZwRaNsIxTp0lpjY1il_IBwAXjnwa91gDSKOqCnaDInDMAAAAAAENAAAXjnwa91gDSKOqCnaDInDMAAA4KToJAAA=",
"createdDateTime": "2023-06-23T00:52:52.5418Z",
"lastModifiedDateTime": "2023-06-23T00:52:53.570523Z",
"changeKey": "F458GvdYA0ijqgp2gyJwzAAAOCEJmw==",
"categories": [],
"transactionId": null,
"originalStartTimeZone": "Pacific Standard Time",
"originalEndTimeZone": "Pacific Standard Time",
"iCalUId": "040000008200E00074C5B7101A82E008000000001076340A6DA5D9010000000000000000100000003EE8BF77931D7D40B835A528EFD465E8",
"reminderMinutesBeforeStart": 15,
"isReminderOn": true,
"hasAttachments": false,
"subject": "Family reunion",
"bodyPreview": "Let's get together this Thanksgiving!",
"importance": "normal",
"sensitivity": "normal",
"isAllDay": false,
"isCancelled": false,
"isOrganizer": true,
"responseRequested": true,
"seriesMasterId": null,
"showAs": "busy",
"type": "singleInstance",
"webLink": "https://outlook.office365.com/owa/?itemid=AAMkADI0NzVmYjQ0LWQyZTItNDIxYS1iMWE2LTIyZGJiOGM0N2YzMQBGAAAAAABaZwRaNsIxTp0lpjY1il%2BIBwAXjnwa91gDSKOqCnaDInDMAAAAAAENAAAXjnwa91gDSKOqCnaDInDMAAA4KToJAAA%3D&exvsurl=1&path=/calendar/item",
"onlineMeetingUrl": null,
"isOnlineMeeting": false,
"onlineMeetingProvider": "unknown",
"allowNewTimeProposals": true,
"occurrenceId": null,
"isDraft": false,
"hideAttendees": false,
"responseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"body": {
"contentType": "html",
"content": "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body>Let's get together this Thanksgiving!</body></html>"
},
"start": {
"dateTime": "2015-11-26T09:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2015-11-29T21:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"location": {
"displayName": "",
"locationType": "default",
"uniqueIdType": "unknown",
"address": {},
"coordinates": {}
},
"locations": [],
"recurrence": null,
"attendees": [
{
"type": "required",
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"emailAddress": {
"name": "Terrie Barrera",
"address": "[email protected]"
}
},
{
"type": "required",
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"emailAddress": {
"name": "Lauren Solis",
"address": "[email protected]"
}
}
],
"organizer": {
"emailAddress": {
"name": "MOD Administrator",
"address": "[email protected]"
}
},
"onlineMeeting": null
}
Отклик в результате успешного выполнения обозначен кодом HTTP 201 Created
и включает в себя новое событие, подобно отклику при создании просто события.
Ответ не включает только что созданные расширенные свойства.
Чтобы отобразить только что созданное расширенное свойство, примените к событию, к которому относится это свойство, параметр $expand.
Пример 2. Создание многозначных расширенных свойств для сообщения
Запрос
Во втором примере создается многозначное расширенное свойство для указанного сообщения. Это расширенное свойство — единственный элемент в коллекции multiValueExtendedProperties. Тело запроса включает следующие данные для расширенного свойства:
-
id. Задает свойство в виде массива строк с указанным идентификатором GUID и именем
Palette
.
-
value. Задает
Palette
в виде массива 3 строковых значений, ["Green", "Aqua", "Blue"]
.
PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2_as77AACHsLrBBBA=
Content-Type: application/json
{
"multiValueExtendedProperties": [
{
"id":"StringArray {66f5a359-4659-4830-9070-00049ec6ac6e} Name Palette",
"value":["Green", "Aqua", "Blue"]
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Message
{
MultiValueExtendedProperties = new List<MultiValueLegacyExtendedProperty>
{
new MultiValueLegacyExtendedProperty
{
Id = "StringArray {66f5a359-4659-4830-9070-00049ec6ac6e} Name Palette",
Value = new List<string>
{
"Green",
"Aqua",
"Blue",
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Messages["{message-id}"].PatchAsync(requestBody);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
mgc users messages patch --user-id {user-id} --message-id {message-id} --body '{\
"multiValueExtendedProperties": [\
{\
"id":"StringArray {66f5a359-4659-4830-9070-00049ec6ac6e} Name Palette",\
"value":["Green", "Aqua", "Blue"]\
}\
]\
}\
'
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewMessage()
multiValueLegacyExtendedProperty := graphmodels.NewMultiValueLegacyExtendedProperty()
id := "StringArray {66f5a359-4659-4830-9070-00049ec6ac6e} Name Palette"
multiValueLegacyExtendedProperty.SetId(&id)
value := []string {
"Green",
"Aqua",
"Blue",
}
multiValueLegacyExtendedProperty.SetValue(value)
multiValueExtendedProperties := []graphmodels.MultiValueLegacyExtendedPropertyable {
multiValueLegacyExtendedProperty,
}
requestBody.SetMultiValueExtendedProperties(multiValueExtendedProperties)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
messages, err := graphClient.Me().Messages().ByMessageId("message-id").Patch(context.Background(), requestBody, nil)
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Message message = new Message();
LinkedList<MultiValueLegacyExtendedProperty> multiValueExtendedProperties = new LinkedList<MultiValueLegacyExtendedProperty>();
MultiValueLegacyExtendedProperty multiValueLegacyExtendedProperty = new MultiValueLegacyExtendedProperty();
multiValueLegacyExtendedProperty.setId("StringArray {66f5a359-4659-4830-9070-00049ec6ac6e} Name Palette");
LinkedList<String> value = new LinkedList<String>();
value.add("Green");
value.add("Aqua");
value.add("Blue");
multiValueLegacyExtendedProperty.setValue(value);
multiValueExtendedProperties.add(multiValueLegacyExtendedProperty);
message.setMultiValueExtendedProperties(multiValueExtendedProperties);
Message result = graphClient.me().messages().byMessageId("{message-id}").patch(message);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const message = {
multiValueExtendedProperties: [
{
id: 'StringArray {66f5a359-4659-4830-9070-00049ec6ac6e} Name Palette',
value: ['Green', 'Aqua', 'Blue']
}
]
};
await client.api('/me/messages/AAMkAGE1M2_as77AACHsLrBBBA=')
.update(message);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Message;
use Microsoft\Graph\Generated\Models\MultiValueLegacyExtendedProperty;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Message();
$multiValueExtendedPropertiesMultiValueLegacyExtendedProperty1 = new MultiValueLegacyExtendedProperty();
$multiValueExtendedPropertiesMultiValueLegacyExtendedProperty1->setId('StringArray {66f5a359-4659-4830-9070-00049ec6ac6e} Name Palette');
$multiValueExtendedPropertiesMultiValueLegacyExtendedProperty1->setValue(['Green', 'Aqua', 'Blue', ]);
$multiValueExtendedPropertiesArray []= $multiValueExtendedPropertiesMultiValueLegacyExtendedProperty1;
$requestBody->setMultiValueExtendedProperties($multiValueExtendedPropertiesArray);
$result = $graphServiceClient->me()->messages()->byMessageId('message-id')->patch($requestBody)->wait();
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
Import-Module Microsoft.Graph.Mail
$params = @{
multiValueExtendedProperties = @(
@{
id = "StringArray {66f5a359-4659-4830-9070-00049ec6ac6e} Name Palette"
value = @(
"Green"
"Aqua"
"Blue"
)
}
)
}
# A UPN can also be used as -UserId.
Update-MgUserMessage -UserId $userId -MessageId $messageId -BodyParameter $params
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.message import Message
from msgraph.generated.models.multi_value_legacy_extended_property import MultiValueLegacyExtendedProperty
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Message(
multi_value_extended_properties = [
MultiValueLegacyExtendedProperty(
id = "StringArray {66f5a359-4659-4830-9070-00049ec6ac6e} Name Palette",
value = [
"Green",
"Aqua",
"Blue",
],
),
],
)
result = await graph_client.me.messages.by_message_id('message-id').patch(request_body)
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
Отклик
Отклик в результате успешного выполнения обозначен кодом HTTP 200 OK
и включает в себя указанное сообщение подобно отклику при обновлении сообщения. Ответ не включает только что созданное расширенное свойство.
Чтобы отобразить только что созданное расширенное свойство, примените к сообщению, к которому относится это свойство, параметр $expand.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('c77f324266ba')/messages/$entity",
"@odata.etag": "W/\"FwAAABYBVGD/o\"",
"id": "AAMkADI4YzgwfyKAAA=",
"createdDateTime": "2023-06-26T15:46:05Z",
"lastModifiedDateTime": "2023-06-28T23:28:50Z",
"changeKey": "FwAAGSOkFBVGD/o",
"categories": [],
"receivedDateTime": "2023-06-26T15:46:05Z",
"sentDateTime": "2023-06-26T15:46:02Z",
"hasAttachments": false,
"internetMessageId": "<1c55OUTLOOK.COM>",
"subject": "Undeliverable: Celebrate Thanksgiving",
"bodyPreview": "Delivery has failed to these recipients or groups:[email protected] message wasn't delivered because the recipient's email provider rejected it.Diagnostic information for administrators:Generating server: CYYP2AM",
"importance": "normal",
"parentFolderId": "AAMkADI4YzgwEMAAA=",
"conversationId": "AAQkADI4Yzej5xL5tI=",
"conversationIndex": "AQHZq6PnEvm0g==",
"isDeliveryReceiptRequested": null,
"isReadReceiptRequested": false,
"isRead": false,
"isDraft": false,
"webLink": "https://outlook.office365.com/owa/?ItemID=AAMQ50XGSOkFdc5AABVNfyKAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"inferenceClassification": "focused",
"body": {
"contentType": "html",
"content": "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body><p><b><font color=\"#000066\" size=\"3\" face=\"Arial\">Delivery has failed to these recipients or groups:</font></b></p><font color=\"#000000\" size=\"2\" face=\"Tahoma\"><p><a href=\"mailto:[email protected]\">[email protected]</a><br></font><font color=\"#000000\" size=\"3\" face=\"Arial\">Your message wasn't delivered because the recipient's email provider rejected it.<br></font><font color=\"#000000\" size=\"2\" face=\"Tahoma\"><br></p></font><br><br><br><br><br><br><font color=\"#808080\" size=\"2\" face=\"Tahoma\"><p><b>Diagnostic information for administrators:</b></p><p>Generating server: CYYP223MB0786.NAMP223.PROD.OUTLOOK.COM<br></p><p>[email protected]<br>Remote server returned '550 5.7.501 Service unavailable. Spam abuse detected from IP range. For more information please go to http://go.microsoft.com/fwlink/?LinkId=526653. S(2017052602) [SJ1P223MB0482.NAMP223.PROD.OUTLOOK.COM 2023-06-26T15:46:02.597Z 08DB747F4B5EA12D]'<br></p><p>Original message headers:</p><pre>Received: from CYYP223MB0786.NAMP223.PROD.OUTLOOK.COM ([fe80::f789:3002:5514:2e9d]) by CYYP223MB0786.NAMP223.PROD.OUTLOOK.COM ([fe80::f789:3002:5514:2e9d%3]) with mapi id 15.20.6521.024; Mon, 26 Jun 2023 15:46:02 +0000MIME-Version: 1.0Content-Type: text/plainDate: Mon, 26 Jun 2023 15:46:02 +0000Message-ID:<CYYP223MB078658B6CCF8BDDCC31FA5E6AC26A@CYYP223MB0786.NAMP223.PROD.OUTLOOK.COM>Subject: Celebrate Thanksgiving</pre></font></body></html>"
},
"sender": {
"emailAddress": {
"name": "Microsoft Outlook",
"address": "[email protected]"
}
},
"from": {
"emailAddress": {
"name": "Microsoft Outlook",
"address": "[email protected]"
}
},
"toRecipients": [
{
"emailAddress": {
"name": "[email protected]",
"address": "[email protected]"
}
}
],
"ccRecipients": [],
"bccRecipients": [],
"replyTo": [],
"flag": {
"flagStatus": "notFlagged"
}
}