Crear usuario

Espacio de nombres: microsoft.graph

Cree un nuevo usuario. El cuerpo de la solicitud contiene el usuario que se creará. Como mínimo, debe especificar las propiedades necesarias para el usuario. De forma opcional, puede especificar cualquier otra propiedad modificable.

Nota:

Para crear usuarios externos, use la API de invitación.

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Permisos

Se requiere uno de los siguientes permisos para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.

Tipo de permiso Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa) User.ReadWrite.All, Directory.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida.
Aplicación User.ReadWrite.All, Directory.ReadWrite.All

Solicitud HTTP

POST /users

Encabezados de solicitud

Encabezado Valor
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.
Content-Type application/json

Cuerpo de solicitud

En el cuerpo de la solicitud, proporcione una representación JSON del objeto user.

En la tabla siguiente, se muestran las propiedades necesarias al crear un usuario. Si está incluyendo una propiedad identities para el usuario que está creando, no se requieren todas las propiedades que aparecen. Para una identidad social, no es necesario tener ninguna de las propiedades.

Parámetro Tipo Descripción
accountEnabled Booleano true si la cuenta está habilitada; en caso contrario, false.
displayName Cadena El nombre para mostrar en la libreta de direcciones del usuario.
onPremisesImmutableId Cadena Solo es necesario al crear una nueva cuenta de usuario si usa un dominio federado para la propiedad userPrincipalName (UPN) del usuario.
mailNickname Cadena El alias de correo del usuario.
passwordProfile PasswordProfile El perfil de contraseña del usuario.
userPrincipalName Cadena Nombre principal de usuario (someuser@contoso.com). Es un nombre de inicio de sesión de Internet del usuario basado en la norma RFC 822. Por convención, se debe asignar al nombre de correo electrónico del usuario. El formato general es alias@dominio, en donde el dominio debe estar presente en la colección de dominios verificados del espacio empresarial. Se puede acceder a los dominios verificados del inquilino desde la propiedad verifiedDomains en organización.
NOTA: Esta propiedad no puede contener caracteres de énfasis. Los caracteres siguientes no están permitidos A - Z, a - z, 0 - 9, ' . - _ ! # ^ ~. Para obtener la lista completa de caracteres permitidos, vea directivas de nombre de usuario.

Dado que el recurso usuario admite extensiones, puede utilizar la operación POST y agregar propiedades personalizadas con sus propios datos a la instancia de usuario al crearla.

Nota:

Los usuarios federados creados a través de esta API se ven obligados a iniciar sesión cada 12 horas de forma predeterminada. Para obtener información sobre cómo cambiar esto, consulte Excepciones para la duración del token.

Respuesta

Si se ejecuta correctamente, este método devuelve un código de respuesta 201 Created y el objeto user en el cuerpo de la respuesta.

Ejemplo

Ejemplo 1: crear un usuario

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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

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

En el cuerpo de la solicitud, proporcione una representación JSON del objeto user.

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$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"
}

Ejemplo 2: crear un usuario con identidades de cuenta locales y sociales

Cree un nuevo usuario con una identidad de cuenta local con un nombre de inicio de sesión, una dirección de correo electrónico como inicio de sesión y una identidad social. Este ejemplo se usa normalmente para escenarios de migración en espacios empresariales B2C.

Nota:

Para las identidades de cuenta locales, se debe deshabilitar la expiración de la contraseña y también debe deshabilitarse forzar el cambio de contraseña en el próximo inicio de sesión.

Solicitud

POST https://graph.microsoft.com/v1.0/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"
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$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"
}