directoryObject: validateProperties

名前空間: microsoft.graph

Microsoft 365 グループの表示名またはメールのニックネームが名前付けポリシーに準拠していることを検証します。 クライアントは、Microsoft 365 グループ の作成 を試みる前に、この API を使用して、表示名またはメールのニックネームが有効かどうかを判断できます。 既存のグループのプロパティを検証するには、グループの validateProperties 関数 を使用します。

表示名とメール ニックネームのプロパティに対して以下の検証が実行されます。

  1. プレフィックスとサフィックスの名前付けポリシーを検証する
  2. カスタム禁止単語ポリシーを検証する
  3. メール ニックネームが一意であることを検証する

注:

  • 次の文字は無効な文字と見なされ、ポリシー検証の一部ではありません: @ () \ \[] " ; : <> , SPACE

  • ユーザー管理者ロールとグローバル管理者ロールを持つ管理者は、カスタムの禁止単語とプレフィックスおよびサフィックスの名前付けポリシーから除外され、ブロックされた単語を使用し、独自の命名規則を使用してグループを作成できます。

この API は、最初に検出されたエラーを返します。 1 つ以上のプロパティが複数の検証に失敗した場合は、最初に検証が失敗したプロパティのみが返されます。 ただし、プレフィックスとサフィックスの名前付けポリシーのみを検証する場合は、メールのニックネームと表示名の両方を検証して、検証エラーのコレクションを受け取る可能性があります。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この 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 ベアラー {code}。 必須です。
Content-Type application/json. 必須です。

要求本文

要求本文で、次のパラメーターを含む JSON オブジェクトを指定します。

パラメーター 説明
entityType 文字列 Group サポートされているエンティティ型のみです。
displayName 文字列 検証するグループの表示名。 displayName または mailNickname を指定する必要があります。
mailNickname 文字列 検証するグループのメール ニックネーム。 displayName または mailNickname を指定する必要があります。
onBehalfOfUserId Guid API を呼び出すときに偽装するユーザーのオブジェクト ID。 検証結果は、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"
      }
    ]
  }
}