Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: 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 | Не поддерживается | Не поддерживается |
| mailboxFolder | MailboxFolder.Read | Не поддерживается. | MailboxFolder.Read.All |
| mailFolder | Mail.ReadWrite | Mail.ReadWrite | Mail.ReadWrite |
| message | Mail.ReadWrite | Mail.ReadWrite | Mail.ReadWrite |
HTTP-запрос
Вы можете создавать расширенные свойства в новом или существующем экземпляре ресурса.
Чтобы создать одно или несколько расширенных свойств в новом экземпляре ресурса, используйте тот же запрос REST, что и при создании этого экземпляра, включив в тело запроса свойства нового экземпляра ресурса и расширенное свойство. Некоторые ресурсы поддерживают создание несколькими способами. Дополнительные сведения о создании этих экземпляров ресурсов см. в соответствующих разделах, посвященных созданию сообщения, mailFolder, события, календаря, контакта, contactFolder, mailboxFolder, события группы и записи группы.
Ниже приведен синтаксис запросов.
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 /admin/exchange/mailboxes/{mailboxId}/folders
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 /admin/exchange/mailboxes/{mailboxId}/folders/{mailboxFolderId}
PATCH /groups/{id}/events/{id}
Примечание.
Для вызова конечной точки /me требуется вход пользователя и, следовательно, делегированное разрешение. Разрешения приложений не поддерживаются при использовании конечной /me точки.
Заголовки запросов
| Имя | Значение |
|---|---|
| Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
| Content-Type | application/json |
Текст запроса
Предоставьте тело в формате 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": "Terrie@contoso.com",
"name": "Terrie Barrera"
},
"type": "Required"
},
{
"emailAddress": {
"address": "Lauren@contoso.com",
"name": "Lauren Solis"
},
"type": "Required"
}
],
"multiValueExtendedProperties": [
{
"id":"StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation",
"value": ["Food", "Hiking", "Swimming"]
}
]
}
Отклик
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": "Terrie@contoso.com"
}
},
{
"type": "required",
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"emailAddress": {
"name": "Lauren Solis",
"address": "Lauren@contoso.com"
}
}
],
"organizer": {
"emailAddress": {
"name": "MOD Administrator",
"address": "admin@contoso.com"
}
},
"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"]
}
]
}
Отклик
Отклик в результате успешного выполнения обозначен кодом 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:Terrie@contoso.comYour 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:Terrie@contoso.com\">Terrie@contoso.com</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>Terrie@contoso.com<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": "MicrosoftExchange329e71ec88ae4615bbc36ab6ce41109e@contoso.com"
}
},
"from": {
"emailAddress": {
"name": "Microsoft Outlook",
"address": "MicrosoftExchange329e71ec88ae4615bbc36ab6ce41109e@contoso.com"
}
},
"toRecipients": [
{
"emailAddress": {
"name": "Terrie@contoso.com",
"address": "Terrie@contoso.com"
}
}
],
"ccRecipients": [],
"bccRecipients": [],
"replyTo": [],
"flag": {
"flagStatus": "notFlagged"
}
}