directoryObject: validateProperties

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

Проверка соответствия отображаемого имени или почтового псевдонима группы Microsoft 365 политикам именования. Клиенты могут использовать этот API, чтобы определить, допустимо ли отображаемое имя или псевдоним в почте, прежде чем пытаться создать группу Microsoft 365. Для проверки свойств существующей группы используйте функцию validateProperties для групп.

Для свойств отображаемого имени и псевдонима почты выполняются следующие проверки:

  1. Проверка политики именования префиксов и суффиксов
  2. Проверка пользовательской политики запрещенных слов
  3. Убедитесь, что псевдоним почты уникален

Примечание.

  • Следующие символы считаются недопустимыми и не используются в проверке политики. @ () \ \[] " ; : <> , SPACE

  • Администраторы с ролями администратора пользователя и глобального администратора освобождаются от пользовательских политик именования запрещенных слов и префиксов и суффиксов. Это позволяет им создавать группы с использованием запрещенных слов и собственных соглашений об именовании.

Этот API возвращает данные с первым обнаруженным сбоем. Если одно или несколько свойств не проходят несколько проверок, возвращается только свойство с первым сбоем проверки. Однако вы можете проверить как псевдоним почты, так и отображаемое имя, и получить коллекцию ошибок проверки, если проверяете только политику именования префиксов и суффиксов.

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

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

Разрешения

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

Тип разрешения Разрешения с наименьшим объемом привилегий Разрешения с более высоким уровнем привилегий
Делегированные (рабочая или учебная учетная запись) Group.Read.All Directory.Read.All, Directory.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Для приложений Group.Read.All Directory.Read.All, Directory.ReadWrite.All, Group.ReadWrite.All

HTTP-запрос

POST /directoryObjects/validateProperties

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

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

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

В тексте запроса предоставьте JSON-объект с указанными ниже параметрами.

Параметр Тип Описание
entityType String Group является единственным поддерживаемым типом сущности.
displayName String Отображаемое имя группы, которую нужно проверить. Необходимо указать параметр displayName или mailNickname .
mailNickname String Почтовый псевдоним группы, которую нужно проверить. Необходимо указать параметр displayName или mailNickname .
onBehalfOfUserId GUID Идентификатор объекта пользователя, олицетворяемого при вызове API. Результаты проверки относятся к атрибутам и ролям onBehalfOfUserId.

Отклик

В случае успеха и отсутствия ошибок проверки метод возвращает 204 No Content код ответа. В тексте ответа ничего не возвращается.

Когда глобальный администратор или администратор пользователя инициирует запрос, нарушающий настраиваемые запрещенные слова или политики именования префиксов и суффиксов, API возвращает 204 No Content код ответа, поскольку эти администраторы освобождены от политик именования. Для других пользователей или администраторов запросы, нарушающие эти политики, являются недействительными.

Если запрос недействителен, метод возвращает 400 Bad Request код ответа. В тексте ответа возвращается сообщение об ошибке с подробными сведениями о недопустимом запросе.

При возникновении ошибки проверки метод возвращает 422 Unprocessable Entity код ответа. Сообщение об ошибке и набор сведений об ошибке возвращаются в тексте ответа.

Примеры

Пример 1. Успешный запрос на проверку

Запрос

POST https://graph.microsoft.com/beta/directoryObjects/validateProperties
Content-type: application/json

{
  "entityType": "Group",
  "displayName": "Myprefix_test_mysuffix",
  "mailNickname": "Myprefix_test_mysuffix",
  "onBehalfOfUserId": "onBehalfOfUserId-value"
}

Отклик

HTTP/1.1 204 No Content

Пример 2. Неудачный запрос на проверку

Запрос

POST https://graph.microsoft.com/beta/directoryObjects/validateProperties
Content-type: application/json

{
  "entityType": "Group",
  "displayName": "test",
  "mailNickname": "test",
  "onBehalfOfUserId": "onBehalfOfUserId-value"
}

Отклик

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json

{
  "error": {
    "code": "Request_UnprocessableEntity",
    "message": "The values provided contain one or more validation errors.",
    "innerError": {
      "request-id": "request-id-value",
      "date": "date-value"
    },
    "details": [
      {
        "target": "displayName",
        "code": "MissingPrefixSuffix",
        "message": "Property mailNickname is missing a required prefix/suffix per your organization's Group naming requirements.",
        "prefix": "Myprefix_",
        "suffix": "_mysuffix"
      },
      {
        "target": "mailNickname",
        "code": "MissingPrefixSuffix",
        "message": "Property mailNickname is missing a required prefix/suffix per your organization's Group naming requirements.",
        "prefix": "Myprefix_",
        "suffix": "_mysuffix"
      }
    ]
  }
}