Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: 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 каждого объекта singleValueLegacyExtendedProperty в свойстве коллекции singleValueExtendedProperties для экземпляра ресурса.
| Свойство | Тип | Описание |
|---|---|---|
| singleValueExtendedProperties | Коллекция singleValueLegacyExtendedProperty | Массив из одного или нескольких расширенных свойств с одним значением. |
| id | Строка | Для каждого свойства в коллекции singleValueExtendedProperties укажите это свойство, чтобы идентифицировать свойство . Он должен соответствовать одному из поддерживаемых форматов. Дополнительные сведения см. в статье Обзор расширенных свойств Outlook . Обязательно. |
| значение | string | Для каждого свойства из коллекции singleValueExtendedProperties следует указать значение. Обязательно. |
При создании расширенного свойства в новом экземпляре ресурса, помимо новой коллекции singleValueExtendedProperties, нужно указать описание этого экземпляра ресурса (то есть message, mailFolder, event и т. д.) в формате JSON.
Ответ
Код ответа
В результате успешной операции создания расширенного свойства в новом экземпляре ресурса возвращается код 201 Created (в случае post для групп в зависимости от используемого метода операция может возвращать код 200 OK или 202 Accepted).
В результате успешной операции создания в существующем экземпляре ресурса возвращается код 200 OK.
Текст ответа
При создании расширенного свойства отклик будет включать только новый или существующий экземпляр (он будет без нового расширенного свойства). Чтобы отобразить только что созданное расширенное свойство, примените к экземпляру, содержащему это расширенное свойство, параметр $expand.
При создании расширенного свойства в новойзаписи группы путем ответа на поток или публикацию ответ включает только код ответа, но не новую запись или расширенное свойство.
Примеры
Пример 1. Создание события и расширенного свойства с одним значением
Запрос
Первый пример показывает создание нового события и расширенного свойства с одним значением с помощью одной и той же операции POST. Помимо свойств, которые вы обычно указываете для нового события, тело запроса включает коллекцию singleValueExtendedProperties, которая содержит одно расширенное свойство с одним значением, и следующие данные для этого свойства:
-
id (указывает тип свойства как
String), GUID и свойствоFun. -
value (указывает
Foodкак значение свойстваFun).
POST https://graph.microsoft.com/v1.0/me/events
Content-Type: application/json
{
"subject": "Celebrate Thanksgiving",
"body": {
"contentType": "HTML",
"content": "Let's get together!"
},
"start": {
"dateTime": "2015-11-26T18:00:00",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2015-11-26T23:00:00",
"timeZone": "Pacific Standard Time"
},
"attendees": [
{
"emailAddress": {
"address": "Terrie@contoso.com",
"name": "Terrie Barrera"
},
"type": "Required"
}
],
"singleValueExtendedProperties": [
{
"id":"String {66f5a359-4659-4830-9070-00040ec6ac6e} Name Fun",
"value":"Food"
}
]
}
Отклик
Отклик в результате успешного выполнения обозначен кодом HTTP 201 Created и включает в себя новое событие, подобно отклику при создании просто события. Ответ не включает только что созданные расширенные свойства.
Чтобы отобразить только что созданное расширенное свойство, примените к событию, к которому относится это свойство, параметр $expand.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('c71-86a-a0-92-906ba')/events/$entity",
"@odata.etag": "W/\"oBeN/g==\"",
"id": "AAMkADI4Yzc5AABVNeEhAAA=",
"createdDateTime": "2023-06-26T15:46:00.9307807Z",
"lastModifiedDateTime": "2023-06-26T15:46:02.0775731Z",
"changeKey": "oBEEg==",
"categories": [],
"transactionId": null,
"originalStartTimeZone": "Pacific Standard Time",
"originalEndTimeZone": "Pacific Standard Time",
"iCalUId": "04049ACBF84A7AC7CB34D",
"reminderMinutesBeforeStart": 15,
"isReminderOn": true,
"hasAttachments": false,
"subject": "Celebrate Thanksgiving",
"bodyPreview": "Let's get together!",
"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=AAMkAA%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!</body></html>"
},
"start": {
"dateTime": "2015-11-26T18:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2015-11-26T23: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"
}
}
],
"organizer": {
"emailAddress": {
"name": "MOD Administrator",
"address": "admin@contoso.com"
}
},
"onlineMeeting": null
}
Пример 2. Создание расширенного свойства с одним значением для сообщения
Запрос
Второй пример показывает создание расширенного свойства с одним значением для указанного существующего сообщения. Это расширенное свойство — единственный элемент в массиве singleValueExtendedProperties. Тело запроса включает следующие данные для расширенного свойства:
-
id (указывает тип свойства как
String), GUID и свойствоColor. -
value (указывает
Greenкак значение свойстваColor).
PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2_bs88AACHsLqWAAA=
Content-Type: application/json
{
"singleValueExtendedProperties": [
{
"id":"String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color",
"value":"Green"
}
]
}
Отклик
Отклик в результате успешного выполнения обозначен кодом HTTP 200 OK и включает в себя указанное сообщение подобно отклику при обновлении сообщения. Ответ не включает только что созданное расширенное свойство.
Чтобы отобразить только что созданное расширенное свойство, примените к сообщению, к которому относится это свойство, параметр $expand.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('3cc-ad3-4b9-9a-54')/messages/$entity",
"@odata.etag": "W/\"CQAAABTiMty\"",
"id": "AAMkADQzZ1NzItKbS4P8E6VEAAA3LwToAAA=",
"createdDateTime": "2023-05-12T15:55:56Z",
"lastModifiedDateTime": "2023-06-23T17:45:43Z",
"changeKey": "CQAAAAABTiMty",
"categories": [],
"receivedDateTime": "2023-05-12T15:55:57Z",
"sentDateTime": "2023-05-12T15:55:48Z",
"hasAttachments": false,
"internetMessageId": "<odspmicro-PlannerDueDate-06c7f00e-6b5f793846-DispatchToRecipients-PreprocessPayload-r0-SendEmail@59C185B>",
"subject": "You have upcoming tasks due",
"bodyPreview": "Hi Alex. You have 2 tasks due. You have upcoming tasksSubmit your expensesIn the plan Event Plan 5/19/2023Due in 7 daysSubmit your expensesIn the plan Event Plan 5/19/2023Due in 7 daysView tasks in Microsoft To ",
"importance": "normal",
"parentFolderId": "AQMkc0BAIptLg-wTpUQAAAIBDAAAAA==",
"conversationId": "AAQkADQzZmJLgzlRSFD0=",
"conversationIndex": "AQHIUPQ==",
"isDeliveryReceiptRequested": null,
"isReadReceiptRequested": false,
"isRead": false,
"isDraft": false,
"webLink": "https://outlook.office365.com/owa/?ItemID=AAP8E6vsurl=1&viewmodel=ReadMessageItem",
"inferenceClassification": "focused",
"body": {
"contentType": "html",
"content": "<html aria-hidden=\"true\" role=\"presentation\" height=\"1\" width=\"1\"></html>"
},
"sender": {
"emailAddress": {
"name": "Microsoft on behalf of your organization",
"address": "noreply@planner.office365.com"
}
},
"from": {
"emailAddress": {
"name": "Microsoft on behalf of your organization",
"address": "noreply@planner.office365.com"
}
},
"toRecipients": [
{
"emailAddress": {
"name": "Alex Wilber",
"address": "AlexW@contoso.com"
}
}
],
"ccRecipients": [],
"bccRecipients": [],
"replyTo": [],
"flag": {
"flagStatus": "notFlagged"
}
}