directoryObject: validateProperties

命名空间:microsoft.graph

验证 Microsoft 365 组的显示名称或邮件昵称是否符合命名策略。 客户端可以使用此 API 确定显示名称或邮件昵称是否有效,然后再尝试创建Microsoft 365组。 若要验证现有组的属性,请使用 group: validateProperties 函数。

对邮件和邮件昵称显示名称执行以下策略验证:

  1. 验证前缀和后缀命名策略
  2. 验证自定义禁止字策略
  3. 验证邮件昵称是否唯一

此 API 仅返回遇到的第一个验证失败。 如果属性无法通过多个验证,则仅返回第一个验证失败。 但是,如果您仅验证前缀和后缀命名策略,您可以验证邮件昵称和显示名称并接收验证错误集合。 若要详细了解如何配置命名策略,请参阅 配置命名策略

权限

要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) Group.Read.All、Directory.Read.All、Directory.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 Group.Read.All、Group.ReadWrite.All、Directory.Read.All、Directory.ReadWrite.All

HTTP 请求

POST /directoryObjects/validateProperties

请求标头

名称 说明
Authorization Bearer {token}。必需。
Content-Type application/json

请求正文

在请求正文中,提供具有以下参数的 JSON 对象。

参数 类型 说明
entityType String 组是唯一受支持的实体类型。
displayName String 要显示名称组的成员。 属性不单独是必需的。 但是,至少需要一 (displayNamemailNickname) 属性。
mailNickname String 要验证的组的邮件昵称。 属性不单独是必需的。 但是,至少需要一 (displayNamemailNickname) 属性。
onBehalfOfUserId Guid 调用 API 时要模拟的用户的 ID。 验证结果适用于 onBehalfOfUserId 的属性 和角色。

响应

如果成功且没有验证错误,该方法将返回 204 No Content 响应代码。 它不会在响应正文中返回任何内容。

如果请求无效,该方法将返回 400 Bad Request 响应代码。 响应正文中返回一条错误消息,包含有关无效请求的详细信息。

如果存在验证错误,该方法将返回响应 422 Unprocessable Entity 代码。 响应正文中返回错误消息和错误详细信息集合。

示例

示例 1:成功验证请求

这是成功验证请求的一个示例。

请求

POST https://graph.microsoft.com/v1.0/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/v1.0/directoryObjects/validateProperties
Content-type: application/json

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

响应

HTTP/1.1 422
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"
      }
    ]
  }
}