Поделиться через


Создание многозначного расширенного свойства

Пространство имен: 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

Чтобы создать одно или несколько расширенных свойств в существующем экземпляре ресурса, укажите экземпляр в запросе и включите расширенное свойство в тело запроса.

Примечание Невозможно создать расширенное свойство в существующей записи группы.

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}

Заголовки запросов

Имя Значение
Авторизация 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:&lt;CYYP223MB078658B6CCF8BDDCC31FA5E6AC26A@CYYP223MB0786.NAMP223.PROD.OUTLOOK.COM&gt;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"
    }
}