次の方法で共有


user の作成

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

新しいユーザーを作成 します。 要求本文に、作成するユーザーを含めます。 少なくとも、ユーザーについての必須プロパティを指定する必要があります。 必要に応じて、その他の書き込み可能なプロパティを指定することもできます。

この操作では、既定では、各ユーザーのプロパティのサブセットのみが返されます。 これらの既定のプロパティは、「プロパティ」セクションに記載されています。 既定で返されないプロパティを取得するには、GET 操作を実行し、$select OData クエリ オプションでプロパティを指定します。

注:

organizationとの B2B コラボレーションの一環として外部ユーザーを作成するには、招待 API を使用します。 外部テナントのMicrosoft Entra 外部 IDで顧客、市民、またはビジネス パートナーを作成するには、「例 3: 顧客アカウントを作成する」を参照してください。

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

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

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。 アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) User.ReadWrite.All、Directory.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。
アプリケーション User.ReadWrite.All、Directory.ReadWrite.All

HTTP 要求

POST /users

要求ヘッダー

ヘッダー
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
Content-Type application/json

要求本文

要求本文で、ユーザー オブジェクトの JSON 表記を指定します。

次の表に、ユーザーの作成時に必要になるプロパティを一覧表示します。 作成しているユーザーの ID プロパティが含まれている場合は、一覧に表示されているすべてのプロパティが必須ではありません。 ソーシャル ID の場合、プロパティは必要ありません。

パラメーター 説明
accountEnabled Boolean アカウントが有効になっている場合は True。それ以外の場合は false。
displayName String ユーザーのアドレス帳に表示される名前。
onPremisesImmutableId String ユーザーの userPrincipalName (UPN) プロパティにフェデレーション ドメインを使用している場合は、新しいユーザー アカウントを作成する場合にのみ必要です。
mailNickname String ユーザーの電子メール エイリアス。
passwordProfile PasswordProfile ユーザーのパスワード プロファイル。
userPrincipalName String ユーザー プリンシパル名 (someuser@contoso.com)。 インターネット標準 RFC 822 に基づいた、インターネット スタイルのユーザーのログイン名です。 規則では、これはユーザーの電子メール名にマップされる必要があります。 一般的な形式は alias@domain です。このドメインは、検証済みドメインのテナントのコレクション内に存在している必要があります。 テナントの検証済みドメインには、organizationverifiedDomains プロパティからアクセスできます。
注: このプロパティにアクセント文字を含めることはできません。 次の文字のみ使用することができます A - Za - z0 - 9 ' . - _ ! # ^ ~。 使用できる文字の完全なリストについてはユーザー名 ポリシーを参照してください。

ユーザー リソースは拡張機能をサポートしているため、POST 操作を使用して、リソースの作成時にカスタム プロパティを独自のデータとともにユーザー インスタンスに追加することができます。

この API を介して作成されたフェデレーション ユーザーは、既定で 12 時間ごとにサインインを強制されます。 これを変更する方法については、「 トークンの有効期間の例外」を参照してください。

注:

既存のユーザー オブジェクトへの B2C ローカル アカウントの追加は、ユーザー オブジェクトに既にローカル アカウント ID が含まれていない限り許可されません。

応答

成功した場合、このメソッドは 201 Created 応答コードと、応答本文で user オブジェクトを返します。

例 1: ユーザーを作成する

要求

次の例は要求を示しています。

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

{
  "accountEnabled": true,
  "displayName": "Adele Vance",
  "mailNickname": "AdeleV",
  "userPrincipalName": "AdeleV@contoso.com",
  "passwordProfile" : {
    "forceChangePasswordNextSignIn": true,
    "password": "xWwvJ]6NMw+bWH-d"
  }
}

要求本文で、ユーザー オブジェクトの JSON 表記を指定します。

応答

次の例は応答を示しています。

注:

ここに示す応答オブジェクトは、読みやすさのために短縮されている可能性があります。

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
    "id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd",
    "businessPhones": [],
    "displayName": "Adele Vance",
    "givenName": "Adele",
    "jobTitle": "Product Marketing Manager",
    "mail": "AdeleV@contoso.com",
    "mobilePhone": "+1 425 555 0109",
    "officeLocation": "18/2111",
    "preferredLanguage": "en-US",
    "surname": "Vance",
    "userPrincipalName": "AdeleV@contoso.com"
}

例 2: Azure AD B2C でソーシャル アカウント ID とローカル アカウント ID を持つユーザーを作成する

サインイン名 (サインイン用のメール アドレス)、およびソーシャル ID を持つローカル アカウント ID を使用して、新しいユーザーを作成します。 この例は、通常、Azure AD B2C テナントの移行シナリオに使用されます。

注:

ローカル アカウント ID の場合、パスワードの有効期限を無効にし、次回のサインイン時にパスワードを強制的に変更することも無効にする必要があります。

要求

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

{
  "displayName": "John Smith",
  "identities": [
    {
      "signInType": "userName",
      "issuer": "contoso.com",
      "issuerAssignedId": "johnsmith"
    },
    {
      "signInType": "emailAddress",
      "issuer": "contoso.com",
      "issuerAssignedId": "jsmith@yahoo.com"
    },
    {
      "signInType": "federated",
      "issuer": "facebook.com",
      "issuerAssignedId": "5eecb0cd"
    }
  ],
  "passwordProfile" : {
    "password": "password-value",
    "forceChangePasswordNextSignIn": false
  },
  "passwordPolicies": "DisablePasswordExpiration"
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
  "displayName": "John Smith",
  "id": "4c7be08b-361f-41a8-b1ef-1712f7a3dfb2",
  "identities": [
    {
      "signInType": "userName",
      "issuer": "contoso.com",
      "issuerAssignedId": "johnsmith"
    },
    {
      "signInType": "emailAddress",
      "issuer": "contoso.com",
      "issuerAssignedId": "jsmith@yahoo.com"
    },
    {
      "signInType": "federated",
      "issuer": "facebook.com",
      "issuerAssignedId": "5eecb0cd"
    }
  ],
  "passwordPolicies": "DisablePasswordExpiration"
}

例 3: 外部テナントに顧客アカウントを作成する

この例では、外部テナントのMicrosoft Entra 外部 IDで顧客アカウントを作成する方法を示します。

注:

ローカル アカウント ID の場合、パスワードの有効期限を無効にし、次回のサインイン時にパスワードを強制的に変更することも無効にする必要があります。

要求

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

{
    "displayName": "Test User",
    "identities": [
        {
            "signInType": "emailAddress",
            "issuer": "contoso.onmicrosoft.com",
            "issuerAssignedId": "adelev@adatum.com"
        }
    ],
    "mail": "adelev@adatum.com",
    "passwordProfile": {
        "password": "passwordValue",
        "forceChangePasswordNextSignIn": false
    },
    "passwordPolicies": "DisablePasswordExpiration"
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
    "id": "daabd280-3978-4d29-acce-d677b9cf2e4d",
    "businessPhones": [],
    "displayName": "Test User",
    "givenName": null,
    "jobTitle": null,
    "mail": "adelev@adatum.com",
    "mobilePhone": null,
    "officeLocation": null,
    "preferredLanguage": null,
    "surname": null,
    "userPrincipalName": "daabd280-3978-4d29-acce-d677b9cf2e4d@contoso.onmicrosoft.com"
}