directoryObject: validateProperties

命名空间:microsoft.graph

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

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

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

注意

  • 以下字符被视为无效字符,不是策略验证的一部分: @ () \ \[] " ; : <> , SPACE

  • 具有用户管理员和全局管理员角色的管理员不受自定义禁止字词、前缀和后缀命名策略的豁免,从而允许他们通过使用阻止的字词和自己的命名约定创建组。

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

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

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

HTTP 请求

POST /directoryObjects/validateProperties

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权
Content-Type application/json

请求正文

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

参数 类型 说明
entityType String 组是唯一支持的实体类型。
displayName String 要验证的组的显示名称。 必须指定 displayNamemailNickname
mailNickname String 要验证的组的邮件昵称。 必须指定 displayNamemailNickname
onBehalfOfUserId Guid 调用 API 时要模拟的用户的 ID。 验证结果针对 onBehalfOfUserId 的属性 和角色。

响应

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

当全局管理员或用户管理员发起违反自定义禁止字词或前缀和后缀命名策略的请求时,API 将返回 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 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"
      }
    ]
  }
}