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


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

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Предостережение

Задачи Outlook устарели и не возвращают данные 10 августа 2022 г. Обновите существующие приложения, использующие эту функцию, с задачами Outlook.

Создайте одно или несколько свойств с одним значением в новом или существующем экземпляре ресурса.

Поддерживаются следующие ресурсы пользователей:

Поддерживаются следующие ресурсы группы:

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

Этот 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
Задача Outlook Tasks.ReadWrite Tasks.ReadWrite Не поддерживается.
Папка задач Outlook Tasks.ReadWrite Tasks.ReadWrite Не поддерживается.
todoTask Tasks.ReadWrite Не поддерживается. Не поддерживается.
todoTaskList Tasks.ReadWrite Не поддерживается. Не поддерживается.

HTTP-запрос

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

Чтобы создать одно или несколько расширенных свойств в новом экземпляре ресурса, используйте тот же запрос REST, что и при создании этого экземпляра, включив в тело запроса свойства нового экземпляра ресурса и расширенное свойство. Некоторые ресурсы поддерживают создание несколькими способами. Дополнительные сведения о создании этих экземпляров ресурсов см. в соответствующих разделах по созданию сообщения, mailFolder, события, календаря, контакта, contactFolder, задачи Outlook, папки задач Outlook, события группы, записи группы и todoTask.

Ниже приведен синтаксис запросов.

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 /me/outlook/tasks
POST /users/{id|userPrincipalName}/outlook/tasks
POST /me/outlook/taskFolders/{id}/tasks
POST /users/{id|userPrincipalName}/outlook/taskFolders/{id}/tasks
POST /me/outlook/taskGroups/{id}/taskFolders/{id}/tasks
POST /users/{id|userPrincipalName}/outlook/taskGroups/{id}/taskFolders/{id}/tasks

POST /me/outlook/taskFolders
POST /users/{id|userPrincipalName}/outlook/taskFolders
POST /me/outlook/taskGroups/{id}/taskFolders
POST /users/{id|userPrincipalName}/outlook/taskGroups/{id}/taskFolders

POST /me/todo/lists/{todoTaskListId}/tasks/{todoTaskId}?$expand=singleValueExtendedProperties($filter=id eq '{singleValueExtendedPropertyId}')
POST /me/todo/lists/{todoTaskListId}/tasks?$expand=singleValueExtendedProperties($filter=id eq '{singleValueExtendedPropertyId}')

POST /me/todo/lists?$expand=singleValueExtendedProperties($filter=id eq '{singleValueExtendedPropertyId}')

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 /me/outlook/tasks/{id}
PATCH /users/{id|userPrincipalName}/outlook/tasks/{id}
PATCH /me/outlook/taskFolders/{id}/tasks/{id}
PATCH /users/{id|userPrincipalName}/outlook/taskFolders/{id}/tasks/{id}
PATCH /me/outlook/taskGroups/{id}/taskFolders/{id}/tasks/{id}
PATCH /users/{id|userPrincipalName}/outlook/taskGroups/{id}/taskFolders/{id}/tasks/{id}

PATCH /me/outlook/taskFolders/{id}
PATCH /users/{id|userPrincipalName}/outlook/taskFolders/{id}
PATCH /me/outlook/taskGroups/{id}/taskFolders/{id}
PATCH /users/{id|userPrincipalName}/outlook/taskGroups/{id}/taskFolders/{id}

PATCH /me/todo/lists/{todoTaskListId}/tasks?$expand=singleValueExtendedProperties($filter=id eq '{singleValueExtendedPropertyId}')
PATCH /me/todo/lists/{todoTaskListId}/tasks/{todoTaskId}?$expand=singleValueExtendedProperties($filter=id eq '{singleValueExtendedPropertyId}')

PATCH /me/todo/lists/{todoTaskListId}?$expand=singleValueExtendedProperties($filter=id eq '{singleValueExtendedPropertyId}')

PATCH /groups/{id}/events/{id}

Примечание.

Для вызова конечной точки /me требуется вход пользователя и, следовательно, делегированное разрешение. Разрешения приложений не поддерживаются при использовании конечной /me точки.

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

Имя Значение
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json

Текст запроса

Предоставьте тело JSON каждого объекта singleValueLegacyExtendedProperty в свойстве коллекции singleValueExtendedProperties для экземпляра ресурса.

Свойство Тип Описание
singleValueExtendedProperties Коллекция singleValueLegacyExtendedProperty Массив из одного или нескольких расширенных свойств с одним значением.
id Строка Для каждого свойства в коллекции singleValueExtendedProperties укажите это свойство, чтобы идентифицировать свойство . Он должен соответствовать одному из поддерживаемых форматов. Дополнительные сведения см. в разделе Общие сведения о расширенных свойствах. Обязательно.
значение string Для каждого свойства из коллекции singleValueExtendedProperties следует указать значение. Обязательно.

При создании расширенного свойства в новом экземпляре ресурса в дополнение к новой коллекции singleValueExtendedProperties предоставьте представление json этого экземпляра ресурса (то есть сообщение, mailFolder, event, todoTask и т. д.).

Ответ

Код ответа

Операция, которая успешно создает расширенное свойство в новом экземпляре ресурса, 201 Created возвращает код ответа. В случае новой записи группы в зависимости от используемого метода операция возвращает 200 OK код ответа или 202 Accepted .

В результате успешной операции создания в существующем экземпляре ресурса возвращается код 200 OK.

Текст ответа

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

При создании расширенного свойства в новойзаписи группы путем ответа на поток или запись ответ включает только код ответа, но не новую запись или расширенное свойство.

Примеры

Запрос 1

Первый пример показывает создание нового события и расширенного свойства с одним значением с помощью одной и той же операции POST. Помимо свойств, которые вы обычно указываете для нового события, тело запроса включает коллекцию singleValueExtendedProperties, которая содержит одно расширенное свойство с одним значением, и следующие данные для этого свойства:

  • id (указывает тип свойства как String), GUID и свойство Fun.
  • value (указывает Food как значение свойства Fun).
POST https://graph.microsoft.com/beta/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"
     }
  ]
}

Отклик 1

Отклик в результате успешного выполнения обозначен кодом HTTP 201 Created и включает в себя новое событие, подобно отклику при создании просто события. Ответ не включает только что созданные расширенные свойства.

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


Запрос 2

Второй пример показывает создание расширенного свойства с одним значением для указанного существующего сообщения. Это расширенное свойство — единственный элемент в массиве singleValueExtendedProperties. Тело запроса включает следующие данные для расширенного свойства:

  • id (указывает тип свойства как String), GUID и свойство Color.
  • value (указывает Green как значение свойства Color).
PATCH https://graph.microsoft.com/beta/me/messages('AAMkAGE1M2_bs88AACHsLqWAAA=')

Content-Type: application/json

{
  "singleValueExtendedProperties": [
      {
         "id":"String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color",
         "value":"Green"
      }
    ]
}

Отклик 2

Отклик в результате успешного выполнения обозначен кодом HTTP 200 OK и включает в себя указанное сообщение подобно отклику при обновлении сообщения. Ответ не включает только что созданное расширенное свойство.

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