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


Получение объекта singleValueLegacyExtendedProperty

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

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

Параметр запроса $expand позволяет получить указанный экземпляр ресурса, дополненный определенным расширенным свойством. Используйте операторы $filter и eq в свойстве id, чтобы указать расширенное свойство. На данный момент это единственный способ получить объект singleValueLegacyExtendedProperty, представляющий расширенное свойство.

Чтобы получить экземпляры ресурсов, которые содержат определенные расширенные свойства, используйте параметр запроса $filter и примените оператор eq к свойству id. Кроме того, для числовых расширенных свойств примените один из следующих операторов к свойству value: eq, ne, ge, gt, le или lt. Для расширенных свойств строкового типа примените оператор contains, startswith, eq или ne к свойству value.

Фильтр применяется ко всем экземплярам ресурса в почтовом ящике вошедшего пользователя.

При фильтрации имени строки (Name) в свойстве id расширенного свойства учитывается регистр. При фильтрации свойства value расширенного свойства регистр не учитывается.

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

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

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

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

В зависимости от ресурса, из который вы получаете расширенное свойство, и типа разрешения (делегированного или приложения), которое вы запрашиваете, разрешение, указанное в следующей таблице, является минимальным, необходимым для вызова этого API. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.

Поддерживаемый ресурс Делегированное (рабочая или учебная учетная запись) Делегированное (личная учетная запись Майкрософт) Приложение
calendar Calendars.Read Calendars.Read Calendars.Read
contact Contacts.Read Contacts.Read Contacts.Read
contactFolder Contacts.Read Contacts.Read Contacts.Read
event Calendars.Read Calendars.Read Calendars.Read
calendar для групп; Group.Read.All Не поддерживается Не поддерживается
group event; Group.Read.All Не поддерживается Не поддерживается
post для групп. Group.Read.All Не поддерживается Group.Read.All
mailFolder Mail.Read Mail.Read Mail.Read
message Mail.Read Mail.Read Mail.Read

HTTP-запрос

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

Вы можете получить экземпляр ресурса, дополненный расширенным свойством, которое соответствует фильтру по свойству id. Убедитесь, что вы применяете кодировку URL для символов пробелов в строке фильтра.

Получение экземпляра объекта message:

GET /me/messages/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/messages/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /me/mailFolders/{id}/messages/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Получение экземпляра объекта mailFolder:

GET /me/mailFolders/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/mailFolders/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Получение экземпляра объекта event:

GET /me/events/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/events/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Получение экземпляра объекта calendar:

GET /me/calendars/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/calendars/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Получение экземпляра объекта contact:

GET /me/contacts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/contacts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /me/contactFolders/{id}/contacts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/contactFolders/{id}/contacts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Получение экземпляра объекта contactFolder:

GET /me/contactfolders/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/contactFolders/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Получение экземпляра объекта event для группы:

GET /groups/{id}/events/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Получение экземпляра объекта post для группы:

GET /groups/{id}/threads/{id}/posts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /groups/{id}/conversations/{id}/threads/{id}/posts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Получение экземпляров ресурсов с числовыми расширенными свойствами, которые соответствуют фильтру

Получите экземпляры поддерживаемого ресурса с расширенным свойством, соответствующим фильтру. В случае фильтра используется оператор eq для свойства id, а также применяется один из следующих операторов для свойства value: eq, ne, ge, gt, le или lt. Применяйте кодировку URL для следующих символов в строке фильтра: двоеточие, косая черта и пробел.

В приведенных ниже строках синтаксиса показан фильтр, в случае которого один оператор eq используется для свойства id, а другой оператор eq — для свойства value. Вы можете заменить оператор eq для свойства value любым из других операторов (ne, ge, gt, le или lt), которые применяются к числовым значениям.

Получение экземпляров объекта message:

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Получение экземпляров объекта mailFolder:

GET /me/mailFolders?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/mailFolders?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Список экземпляров объекта event:

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Получение экземпляров объекта calendar:

GET /me/calendars?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/calendars?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Получение экземпляров объекта contact:

GET /me/contacts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/contacts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /me/contactFolders/{id}/contacts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/contactFolders/{id}/contacts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Получение экземпляров объекта contactFolder:

GET /me/contactfolders?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/contactFolders?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Получение экземпляров объекта event для группы:

GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Получение экземпляров объекта post для группы:

GET /groups/{id}/threads/{id}/posts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /groups/{id}/conversations/{id}/threads/{id}/posts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

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

Получите экземпляры ресурса message или event, которые включают расширенное свойство строкового типа, соответствующее фильтру. В случае фильтра используется оператор eq для свойства id, а также применяется один из следующих операторов для свойства value: contains, startswith, eq или ne. Применяйте кодировку URL для следующих символов в строке фильтра: двоеточие, косая черта и пробел.

Получение экземпляров объекта message:

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')

Получение экземпляров объекта event:

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')

Получение экземпляров объекта event для группы:

GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))
GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))
GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')

Параметры пути

Параметр Тип Описание
id_value String Идентификатор расширенного свойства для сопоставления. Он должен соответствовать одному из поддерживаемых форматов. Дополнительные сведения см. в статье Обзор расширенных свойств Outlook . Обязательно.
property_value String Значение сопоставляемого расширенного свойства. Его необходимо указывать, если этот параметр указан для соответствующего сценария в разделе HTTP-запрос выше. Если параметр {property_value} не является строкой, явно приведите ep/value к правильному типу данных Edm при сравнении с параметром {property_value}. Примеры см. в разделе Запрос 4.

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

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.

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

Не указывайте текст запроса для этого метода.

Отклик

При успешном выполнении этот метод возвращает код отклика 200 OK.

Получение экземпляра ресурса с соответствующим расширенным свойством

Тело отклика содержит объект, который представляет запрашиваемый экземпляр ресурса, дополненный соответствующим объектом singleValueLegacyExtendedProperty.

Получение экземпляров ресурсов с расширенным свойством, которое соответствует фильтру

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

Пример

Запрос 1

В первом примере показано, как получить указанное сообщение и дополнить его расширенным свойством с одним значением. Фильтр возвращает расширенное свойство, значение id которого совпадает со строкой String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color (для наглядности здесь убрана кодировка URL).

GET https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2_bs88AACHsLqWAAA=?$expand=singleValueExtendedProperties($filter=id%20eq%20'String%20{66f5a359-4659-4830-9070-00047ec6ac6e}%20Name%20Color')

Отклик 1

Текст отклика включает все свойства указанного сообщения и расширенное свойство, возвращенное из фильтра.

Примечание. Объект сообщения , показанный здесь, усекается для краткости. При фактическом вызове будут возвращены все свойства.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/messages/$entity",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/messages('AAMkAGE1M2_bs88AACHsLqWAAA=')",
    "@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AACbyS4H\"",
    "id": "AAMkAGE1M2_bs88AACHsLqWAAA=",
    "subject": "RE: Talk about emergency prep",
    "sender": {
        "emailAddress": {
            "name": "Christine Irwin",
            "address": "christine@contoso.com"
        }
    },
    "from": null,
    "toRecipients": [
        {
            "emailAddress": {
                "name": "Christine Irwin",
                "address": "christine@contoso.com"
            }
        }
    ],
    "singleValueExtendedProperties": [
        {
            "id": "String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color",
            "value": "Green"
        }
    ]
}

Запрос 2

Во втором примере показано, как получить сообщения с указанным в фильтре однозначным расширенным свойством типа string. Фильтр ищет расширенное свойство со следующими параметрами:

  • его свойство id соответствует строке String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color (для наглядности здесь убрана кодировка URL-адреса);

  • его свойство value равно строке Green.

GET https://graph.microsoft.com/v1.0/me/messages?$filter=singleValueExtendedProperties%2FAny(ep%3A%20ep%2Fid%20eq%20'String%20{66f5a359-4659-4830-9070-00047ec6ac6e}%20Name%20Color'%20and%20ep%2Fvalue%20eq%20'Green')

Отклик 2

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

Запрос 3

В третьем примере показано, как получить сообщения с указанным в фильтре однозначным расширенным свойством строкового типа. Фильтр ищет расширенное свойство со следующими параметрами:

  • его свойство id соответствует строке String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color (для наглядности здесь убрана кодировка URL-адреса);

  • его свойство value включает строку green.

GET https://graph.microsoft.com/v1.0/Me/messages?$filter=singleValueExtendedProperties/any(ep:ep/Id eq 'String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color' and contains(ep/Value, 'green'))

Отклик 3

В случае успешного выполнения возвращается код отклика HTTP 200 OK, а тело отклика включает все свойства сообщений, у которых есть расширенное свойство, соответствующее фильтру. Например, сообщение с расширенным свойством с одним значением с идентификатором , равным строке String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color, и значениемLight green, будет соответствовать фильтру и включаться в ответ.

Текст отклика аналогичен отклику при получении коллекции сообщений. Отклик не включает соответствующее расширенное свойство.

Запрос 4

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

В следующем примере показан фильтр, который ищет расширенное свойство со следующими параметрами:

  • Свойство id соответствует строке CLSID {00062008-0000-0000-C000-000000000046} Name ConnectorSenderGuid.

  • Свойство value равно GUID b9cf8971-7d55-4b73-9ffa-a584611b600b. Чтобы сравнить значение свойства с GUID, приведите ep/value к Edm.Guid.

GET https://graph.microsoft.com/v1.0/me/messages?$filter=singleValueExtendedProperties/any(ep:ep/id eq 'CLSID {00062008-0000-0000-C000-000000000046} Name ConnectorSenderGuid' and cast(ep/value, Edm.Guid) eq (b9cf8971-7d55-4b73-9ffa-a584611b600b))

В следующем примере показан фильтр, который ищет расширенное свойство со следующими параметрами:

  • Свойство id соответствует строке Integer {66f5a359-4659-4830-9070-00047ec6ac6e} Name Pallete.

  • Свойство value равно целому числу 12. Чтобы сравнить значение свойства с целым числом, приведите ep/value к Edm.Int32.

GET https://graph.microsoft.com/v1.0/me/messages?$filter=singleValueExtendedProperties/any(ep:ep/id eq 'Integer {66f5a359-4659-4830-9070-00047ec6ac6e} Name Pallete' and cast(ep/value, Edm.Int32) eq 12)

Отклик 4

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