La API de Directory proporciona métodos programáticos para crear, actualizar y borrar usuarios. También puedes obtener información sobre usuarios individuales o listas de usuarios que cumplen con criterios específicos. A continuación, se muestran ejemplos de algunas operaciones básicas del usuario.
Crear una cuenta de usuario
Puedes agregar una cuenta de usuario a cualquiera de los dominios de tu cuenta de Google Workspace. Antes de agregar una cuenta de usuario, confirma la propiedad del dominio.
Si actualizaste tu cuenta personal de Gmail a una cuenta de correo electrónico empresarial con tu propio nombre de dominio, no podrás crear cuentas de usuario nuevas hasta que desbloquees la configuración adicional de Google Workspace. Para obtener más información, consulta Se actualizaron las cuentas de correo electrónico empresariales de G Suite a G Suite Basic.
Para crear una cuenta de usuario con uno de tus dominios, utiliza la siguiente solicitud POST e incluye la autorización que se describe en Obtén información sobre la autenticación y la autorización. Puedes ver los permisos disponibles para la API de Directory en la lista de permisos de OAuth 2.0. Para conocer las propiedades de la cadena de consulta de la solicitud, consulta el método users.insert().
POST https://admin.googleapis.com/admin/directory/v1/users
Todas las solicitudes de creación requieren que envíes la información necesaria para completarlas. Si usas bibliotecas cliente, estas convierten los objetos de datos del lenguaje que elegiste en objetos con formato de datos JSON.
Solicitud JSON
En el siguiente JSON, se muestra una solicitud de ejemplo para crear un usuario. Para obtener la lista completa de las propiedades de solicitud y respuesta, consulta la referencia de la API.
{ "primaryEmail": "liz@example.com", "name": { "givenName": "Elizabeth", "familyName": "Smith" }, "suspended": false, "password": "new user password", "hashFunction": "SHA-1", "changePasswordAtNextLogin": false, "ipWhitelisted": false, "ims": [ { "type": "work", "protocol": "gtalk", "im": "liz_im@talk.example.com", "primary": true } ], "emails": [ { "address": "liz@example.com", "type": "home", "customType": "", "primary": true } ], "addresses": [ { "type": "work", "customType": "", "streetAddress": "1600 Amphitheatre Parkway", "locality": "Mountain View", "region": "CA", "postalCode": "94043" } ], "externalIds": [ { "value": "12345", "type": "custom", "customType": "employee" } ], "organizations": [ { "name": "Google Inc.", "title": "SWE", "primary": true, "type": "work", "description": "Software engineer" } ], "phones": [ { "value": "+1 nnn nnn nnnn", "type": "work" } ], "orgUnitPath": "/corp/engineering", "includeInGlobalAddressList": true }
Si la frecuencia de consultas para las solicitudes de creación es demasiado alta, es posible que recibas respuestas HTTP 503 del servidor de la API que indiquen que se excedió tu cuota. Si recibes estas respuestas, usa un algoritmo de retirada exponencial para reintentar tus solicitudes.
Estos son algunos aspectos que debes tener en cuenta sobre una cuenta nueva:
- Si la Cuenta de Google compró licencias de correo, a la nueva cuenta de usuario se le asignará automáticamente un buzón. Esta asignación puede tardar unos minutos en completarse y activarse.
- El servicio de la API ignora de forma silenciosa la edición de un campo de solo lectura en una solicitud, como
isAdmin. - La cantidad máxima de dominios permitidos en una cuenta es de 600 (1 dominio principal y 599 dominios adicionales).
- Si no se asignó un usuario a una unidad organizativa específica cuando se creó la cuenta de usuario, la cuenta se encuentra en la unidad organizativa de nivel superior. La unidad organizativa de un usuario determina a qué servicios de Google Workspace tiene acceso. Si se muda al usuario a una organización nueva, cambiará su acceso. Para obtener más información sobre las estructuras organizativas, consulta el Centro de ayuda para administradores. Para obtener más información sobre cómo trasladar a un usuario a otra organización, consulta Actualiza un usuario.
- Se requiere un
passwordpara las cuentas de usuario nuevas. Si se especifica unhashFunction, la contraseña debe ser una clave hash válida. Si no se especifica, la contraseña debe estar en texto sin formato y tener entre 8 y 100 caracteres ASCII. Para obtener más información, consulta la referencia de la API. - En el caso de los usuarios con un plan flexible de Google Workspace, la creación de usuarios con esta API tendrá un impacto monetario y generará cargos en la cuenta de facturación del cliente. Para obtener más información, consulta la información de facturación de la API.
- Una cuenta de Google Workspace puede incluir cualquiera de tus dominios. En una cuenta de varios dominios, los usuarios de un dominio pueden compartir servicios con los usuarios de otros dominios de la cuenta. Para obtener más información sobre los usuarios en varios dominios, consulta la información sobre varios dominios de la API.
- Es posible que haya cuentas en conflicto. Comprueba si las personas que planeas agregar ya tienen una Cuenta de Google. Luego, sigue los pasos para evitar conflictos con esas cuentas. Consulta Cómo buscar y resolver cuentas en conflicto.
- Es posible que haya cuentas de visitantes. Si los usuarios invitan a personas externas a tu organización que no tienen Cuentas de Google para colaborar en Drive, recibirán cuentas de visitante con el formato nombre_de_usuario_del_visitante@tu_dominio.com. Si agregas un usuario con el mismo nombre de usuario que una cuenta de visitante, la cuenta se convertirá en una cuenta completa de Google Workspace. La cuenta conservará los permisos de archivo de Drive actuales. Consulta Comparte documentos con los visitantes.
Una respuesta correcta devuelve un código de estado HTTP 200. Junto con el código de estado, la respuesta devuelve las propiedades de la nueva cuenta de usuario.
Actualiza una cuenta de usuario
Para actualizar una cuenta de usuario, usa la siguiente solicitud PUT e incluye la autorización descrita en Autorizar solicitudes. El userKey puede ser la dirección de correo electrónico principal del usuario, el id único del usuario o una de las direcciones de correo electrónico de alias del usuario.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey
Tanto el cuerpo de la solicitud como el de la respuesta contienen una instancia de User. Sin embargo, la API de Directory admite la semántica de parches, por lo que solo debes enviar los campos actualizados en tu solicitud.
Solicitud de muestra
En el siguiente ejemplo, el givenName del usuario era "Elizabeth" cuando se creó la cuenta de usuario, y solo se proporcionó una dirección de correo electrónico laboral.
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
}
]
}
La siguiente solicitud actualiza givenName de "Elizabeth" a "Liz" y también agrega una dirección de correo electrónico particular. Ten en cuenta que ambas direcciones de correo electrónico se proporcionan por completo porque el campo es un array.
PUT https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
{
"name": {
"givenName": "Liz",
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
},
{
"address": "liz@home.com",
"type": "home"
}
]
}
Una respuesta correcta devuelve un código de estado HTTP 200 y un recurso User con los campos actualizados.
Ten en cuenta lo siguiente cuando actualices el nombre de la cuenta de un usuario:
- Cambiar el nombre de una cuenta de usuario modifica la dirección de correo electrónico principal del usuario y el dominio que se usa cuando se recupera la información de este usuario. Antes de cambiar el nombre de un usuario, te recomendamos que cierre la sesión del usuario en todos los servicios y sesiones del navegador.
- El proceso de cambio de nombre de una cuenta de usuario puede tardar hasta 10 minutos en propagarse en todos los servicios.
- Cuando cambias el nombre de un usuario, el nombre anterior se conserva como alias para garantizar la entrega continua de correo en el caso de la configuración de reenvío de correo electrónico y no está disponible como nombre de usuario nuevo.
- En general, tampoco recomendamos usar la dirección de correo electrónico del usuario como clave para los datos persistentes, ya que está sujeta a cambios.
- Para obtener una lista completa de los efectos de cambiar el nombre de un usuario en las aplicaciones de Google Workspace, consulta el Centro de ayuda para administradores.
Cómo convertir a un usuario en administrador
Para convertir al usuario en administrador avanzado, usa la siguiente solicitud POST e incluye la autorización descrita en Autorizar solicitudes. El userKey puede ser la dirección de correo electrónico principal del usuario, el id único del usuario o una de las direcciones de correo electrónico de alias del usuario. Para conocer las propiedades de solicitud y respuesta, consulta la referencia de la API. Para obtener más información sobre los superadministradores, consulta el Centro de ayuda para administradores.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdminSolicitud JSON
En este ejemplo, el usuario cuyo userKey es liz@example.com se convirtió en administrador avanzado:
POST https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/makeAdmin
{
"status": true
}Una respuesta correcta devuelve un código de estado HTTP 200.
Administra las relaciones de los usuarios
La API de Directory usa el campo relations para definir diferentes tipos de relaciones entre los usuarios. En un entorno empresarial, las personas suelen usar este campo para las relaciones entre gerentes y empleados, y entre asistentes, pero el campo también admite muchos otros tipos. La relación se muestra en la tarjeta "Personas relacionadas" del usuario en cualquier aplicación de Google Workspace que admita la tarjeta. Para ver ejemplos de dónde se muestra la tarjeta, consulta Agrega información al perfil del directorio de un usuario.
Crea una relación entre usuarios
Puedes definir una relación en una sola dirección, comenzando por el usuario "propietario", cuyo registro incluye el campo relations. El campo type describe la relación de la otra persona con el usuario propietario. Por ejemplo, en una relación entre un gerente y un empleado, el empleado es el usuario propietario y tú agregas un campo relations a su cuenta con el tipo manager. Para conocer los tipos permitidos, consulta la referencia del objeto User.
Configura la relación creando o actualizando el usuario propietario con un cuerpo de solicitud JSON que incluya el campo relations.
Puedes crear varias relaciones en una solicitud.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_1",
"type": "manager"
},
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "dotted_line_manager"
}
]
}
Cómo actualizar o borrar una relación
Solo se puede actualizar el campo relations en su totalidad. No puedes dirigirte a las personas individuales que se enumeran para cambiar el tipo de relación o quitarlas. En el ejemplo anterior, para quitar la relación de administrador existente y hacer que el administrador de línea punteada sea el administrador del usuario propietario, actualiza la cuenta del usuario propietario con todos los valores del campo tal como los deseas ahora.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Para quitar todas las relaciones del usuario propietario, establece relations como vacío:
{
"relations": []
}
Recupera un usuario
Para recuperar un usuario, usa la siguiente solicitud GET e incluye la autorización descrita en Autorizar solicitudes. El userKey puede ser la dirección de correo electrónico principal del usuario, el id único del usuario o una de las direcciones de correo electrónico de alias del usuario. Para conocer las propiedades de solicitud y respuesta, consulta la referencia de la API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKeyEn este ejemplo, se devuelven las propiedades de la cuenta de usuario para el usuario cuya dirección de correo electrónico principal o de alias es liz@example.com:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Respuesta JSON
Una respuesta correcta devuelve un código de estado HTTP 200. Junto con el código de estado, la respuesta devuelve las propiedades de la cuenta de usuario.
{ "kind": "directory#user", "id": "the unique user id", "primaryEmail": "liz@example.com", "name": { "givenName": "Liz", "familyName": "Smith", "fullName": "Liz Smith" }, "isAdmin": true, "isDelegatedAdmin": false, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "ims": [ { "type": "work", "protocol": "gtalk", "im": "lizim@talk.example.com", "primary": true } ], "emails": [ { "address": "liz@example.com", "type": "home", "customType": "", "primary": true } ], "addresses": [ { "type": "work", "customType": "", "streetAddress": "1600 Amphitheatre Parkway", "locality": "Mountain View", "region": "CA", "postalCode": "94043" } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "organizations": [ { "name": "Google Inc.", "title": "SWE", "primary": true, "customType": "", "description": "Software engineer" } ], "phones": [ { "value": "+1 nnn nnn nnnn", "type": "work" } ], "aliases": [ "lizsmith@example.com", "lsmith@example.com" ], "nonEditableAliases": [ "liz@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "corp/engineering", "isMailboxSetup": true, "includeInGlobalAddressList": true }
Recupera todos los usuarios de un dominio
Para recuperar todos los usuarios del mismo dominio, usa la siguiente solicitud GET e incluye la autorización descrita en Autorizar solicitudes. Para facilitar la lectura, este ejemplo usa saltos de línea:
GET https://admin.googleapis.com/admin/directory/v1/users ?domain=primary domain name&pageToken=token for next results page &maxResults=max number of results per page &orderBy=email, givenName, or familyName &sortOrder=ascending or descending &query=email, givenName, or familyName:the query's value*
Para conocer las propiedades de solicitud y respuesta, consulta la referencia de la API.
Respuesta JSON
En este ejemplo, se muestran todos los usuarios del dominio example.com con un máximo de 2 dominios de usuario por página de respuesta. Hay un nextPageToken para la lista de usuarios de seguimiento en esta respuesta. De forma predeterminada, el sistema devuelve una lista de 100 usuarios en orden alfabético según la dirección de correo electrónico del usuario:
GET https://admin.googleapis.com/admin/directory/v1/users?domain=example.com&maxResults=2
Una respuesta correcta devuelve un código de estado HTTP 200. Junto con el código de estado, la respuesta devuelve 2 cuentas de usuario en el dominio example.com (maxResults=2):
{ "kind": "directory#users", "users": [ { "kind": "directory#user", "id": "the unique user id", "primaryEmail": "liz@example.com", "name": { "givenName": "Liz", "familyName": "Smith", "fullName": "Liz Smith" }, "isAdmin": true, "isDelegatedAdmin": false, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "ims": [ { "type": "work", "protocol": "gtalk", "im": "lizim@talk.example.com", "primary": true } ], "emails": [ { "address": "liz@example.com", "type": "work", "customType": "", "primary": true } ], "addresses": [ { "type": "work", "customType": "", "streetAddress": "1600 Amphitheatre Parkway", "locality": "Mountain View", "region": "CA", "postalCode": "94043" } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "organizations": [ { "name": "Google Inc.", "title": "SWE", "primary": true, "customType": "", "description": "Software engineer" } ], "phones": [ { "value": "+1 nnn nnn nnnn", "type": "work" } ], "aliases": [ "lizsmith@example.com", "lsmith@example.com" ], "nonEditableAliases": [ "liz@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "corp/engineering", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "user unique ID", "primaryEmail": "admin2@example.com", "name": { "givenName": "admin", "familyName": "two", "fullName": "admin two" }, "isAdmin": true, "isDelegatedAdmin": true, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": true, "suspensionReason": "ADMIN", "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "admin2@example.com", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "contractor license number", "type": "custom", "customType": "work" } ], "aliases": [ "second_admin@example.com" ], "nonEditableAliases": [ "admin@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "corp/engineering", "isMailboxSetup": true, "includeInGlobalAddressList": true } ], "nextPageToken": "next page token" }
Recupera todos los usuarios de la cuenta
Para recuperar todos los usuarios de una cuenta que puede constar de varios dominios, utiliza la siguiente solicitud GET e incluye la autorización descrita en Autorizar solicitudes. Para facilitar la lectura, este ejemplo usa saltos de línea:
GET https://admin.googleapis.com/admin/directory/v1/users ?customer=my_customer or customerId&pageToken=token for next results page &maxResults=max number of results per page &orderBy=email, givenName, or familyName &sortOrder=ascending or descending &query=user attributes
- La cadena de consulta
customeres el valor demy_customerocustomerId. - Usa la cadena
my_customerpara representar elcustomerIdde tu cuenta. - Como administrador de revendedor, usa el
customerIddel cliente revendido. ParacustomerId, usa el nombre de dominio principal de la cuenta en la solicitud de la operación Retrieve all users in a domain. La respuesta resultante tiene el valorcustomerId. - La cadena de consulta
orderByopcional determina si la lista se ordena por la dirección de correo electrónico principal, el apellido o el nombre del usuario. Cuando usasorderBy, también puedes usar la cadena de consultasortOrderpara enumerar los resultados en orden ascendente o descendente. - La cadena de consulta
queryopcional permite buscar en muchos campos de un perfil de usuario, incluidos los campos principales y los personalizados. Consulta Cómo buscar usuarios para ver ejemplos.
Para conocer las propiedades de solicitud y respuesta, consulta la referencia de la API.
En este ejemplo, un administrador de la cuenta solicita que se devuelvan todos los usuarios de la cuenta con una entrada de usuario en cada página de respuesta. El nextPageToken va a la página de resultados de seguimiento:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
En este ejemplo, un administrador de revendedor solicita todos los usuarios de una cuenta revendida que tiene el valor customerId de C03az79cb.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
Respuesta JSON
Una respuesta correcta devuelve un código de estado HTTP 200. Junto con el código de estado, la respuesta devuelve todos los usuarios de esta cuenta:
{ "kind": "directory#users", "users": [ { "kind": "directory#user", "id": "the unique user id", "username": "admin2@example.com", "name": { "givenName": "admin", "familyName": "two", "fullName": "admin two" }, "isAdmin": true, "isDelegatedAdmin": true, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "admin2@example.com", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "aliases": [ "second_admin@example.com" ], "nonEditableAliases": [ "another_admin@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "the unique user id", "username": "liz@example.com", "name": { "givenName": "Elizabeth", "familyName": "Smith", "fullName": "Elizabeth Smith" }, "isAdmin": false, "isDelegatedAdmin": false, "lastLoginTime": "1336509883546", "creationTime": "1404802800000", "agreedToTerms": false, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "liz@example.com", "type": "home", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "bank" } ], "relations": [ { "value": "liz", "type": "friend", "customType": "" } ], "aliases": [ "lizsmith@example.com", "lsmith@example.com" ], "nonEditableAliases": [ "liz@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "the unique user id", "username": "test3@example.com", "name": { "givenName": "Tester", "familyName": "Three", "fullName": "Tester Three" }, "isAdmin": false, "isDelegatedAdmin": false, "lastLoginTime": "1336509883546", "creationTime": "1404802800000", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "test@example.com", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "aliases": [ "tester3@example.com" ], "nonEditableAliases": [ "third@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "the unique user id", "username": "work_admin@example.com", "name": { "givenName": "Admin", "familyName": "Work", "fullName": "Admin Work" }, "isAdmin": true, "isDelegatedAdmin": true, "lastLoginTime": "1336509883546", "creationTime": "1404802800000", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "work_admin@example.com", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "aliases": [ "my_alias@example.com" ], "nonEditableAliases": [ "other_alias@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true } ], "nextPageToken": "NNNNN" }
Recupera los usuarios borrados recientemente
Para recuperar todos los usuarios borrados en los últimos 20 días de una cuenta o de uno de sus dominios, utiliza las siguientes solicitudes GET e incluye la autorización que se describe en Autorizar solicitudes. Para recuperar un usuario, consulta Cómo recuperar un usuario.
Para recuperar los usuarios borrados en los últimos 20 días del dominio principal de la cuenta o de un subdominio, usa la siguiente solicitud GET. La cadena de consulta domain es el nombre de dominio principal del dominio. Para conocer las propiedades de solicitud y respuesta del usuario, consulta la referencia de la API. Además, para facilitar la lectura, este ejemplo usa saltos de línea:
GET https://admin.googleapis.com/admin/directory/v1/users ?domain=primary domain name&pageToken=token for next results page &maxResults=max number of results per page &showDeleted=true
GET. Para facilitar la lectura, este ejemplo usa saltos de línea:
GET https://admin.googleapis.com/admin/directory/v1/users ?customer=my_customer or customerId&pageToken=token for next results page &maxResults=max number of results per page&showDeleted=true
- La cadena de consulta
customeres el valor demy_customerocustomerId. - Como administrador de la cuenta, usa la cadena
my_customerpara representar elcustomerIdde tu cuenta. - Como administrador de revendedor, usa el
customerIddel cliente revendido. ParacustomerId, usa el nombre de dominio principal de la cuenta en la solicitud de la operación Retrieve all users in a domain. La respuesta resultante tiene el valorcustomerId.
Para conocer las propiedades de solicitud y respuesta, consulta la referencia de la API.
En este ejemplo, un administrador de la cuenta solicita todos los usuarios borrados de la cuenta:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&showDeleted=true
Respuesta JSON
Una respuesta correcta devuelve un código de estado HTTP 200. Junto con el código de estado, la respuesta devuelve todos los usuarios de la cuenta que se borraron en los últimos 20 días:
{ "kind": "directory#users", "users": [ { "kind": "directory#user", "id": "the unique user id", "primaryEmail": "user1@example.com" }, { "kind": "directory#user", "id": "the unique user id", "primaryEmail": "user3@example.com" } ], "nextPageToken": "token for next page of deleted users" }
Recupera la foto de un usuario
La API recupera una miniatura de la foto de perfil más reciente de Google. Para recuperar la foto más reciente del usuario, usa la siguiente solicitud GET e incluye la autorización descrita en Autorizar solicitudes. El userKey puede ser la dirección de correo electrónico principal del usuario, el usuario id o cualquiera de los correos electrónicos de alias del usuario. Para conocer las propiedades de solicitud y respuesta, consulta la referencia de la API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnailEn este ejemplo, se devuelve la foto más reciente de liz@example.com:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
JSON Response
Una respuesta correcta devuelve un código de estado HTTP 200.
{ "kind": "directory#user#photo", "id": "the unique user id", "primaryEmail": "liz@example.com", "mimeType": "the photo mime type", "height": "the photo height in pixels", "width": "the photo width in pixels", "photoData": "web safe base64 encoded photo data" }
La codificación base64 segura para la Web de tus fotos de la API es similar a la "base64url" de RFC 4648. Esto significa lo siguiente:
- El carácter de barra (/) se reemplaza por el carácter de guion bajo (_).
- El carácter de signo más (+) se reemplaza por el carácter de guion (-).
- El carácter de signo igual (=) se reemplaza por el asterisco (*).
- Para el relleno, se usa el carácter de punto (.) en lugar de la definición de baseURL de RFC-4648, que usa el signo igual (=) para el relleno. Esto se hace para simplificar el análisis de URLs.
- Independientemente del tamaño de la foto que se suba, la API la reduce proporcionalmente a 96 × 96 píxeles.
Si necesitas crear vínculos compatibles desde JavaScript, la biblioteca de Google Closure incluye funciones de codificación y decodificación Base64 que se publican bajo la licencia de Apache.
Recupera un usuario como no administrador
Si bien solo los administradores pueden modificar las cuentas de usuario, cualquier usuario del dominio puede leer los perfiles de usuario. Un usuario que no es administrador puede realizar una solicitud de users.get o users.list con el parámetro viewType igual a domain_public para recuperar el perfil público de un usuario. El alcance https://www.googleapis.com/auth/admin.directory.user.readonly es ideal para este caso de uso.
La vista domain_public permite que un usuario que no es administrador acceda a un conjunto estándar de campos principales. En el caso de un campo personalizado, puedes elegir si debe ser público o privado cuando definas el esquema.
Actualiza la foto de un usuario
Para actualizar la foto de un usuario, usa la siguiente solicitud PUT e incluye la autorización descrita en Autorizar solicitudes. El userKey puede ser la dirección de correo electrónico principal del usuario, el usuario id o cualquiera de los correos electrónicos de los alias del usuario. Para conocer las propiedades de solicitud y respuesta, consulta la referencia de la API.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnailEn este ejemplo, se actualiza la foto de liz@example.com:
PUT https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
{
"photoData": "web safe base64 encoded photo data"
}Cuando se actualiza una foto, la API ignora los parámetros height y width.
JSON Response
Una respuesta correcta devuelve un código de estado HTTP 200.
{ "kind": "directory#user#photo", "id": "the unique user id", "primaryEmail": "liz@example.com", "mimeType": "the photo mime type", "height": "the photo height in pixels", "width": "the photo width in pixels", "photoData": "web safe base64 encoded photo data" }
Cómo borrar la foto de un usuario
Para borrar la foto de un usuario, usa la siguiente solicitud DELETE e incluye la autorización que se describe en Autorizar solicitudes. El userKey puede ser la dirección de correo electrónico principal del usuario, el usuario id o cualquiera de los correos electrónicos de los alias del usuario. Para conocer las propiedades de solicitud y respuesta, consulta la referencia de la API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnailUna vez que se borra, no se muestra la foto del usuario. En su lugar, se mostrará una silueta donde se requiera la foto de un usuario.
Borra una cuenta de usuario
Para borrar una cuenta de usuario, usa la siguiente solicitud DELETE e incluye la autorización que se describe en Autorizar solicitudes. El userKey puede ser la dirección de correo electrónico principal del usuario, el id único del usuario o una de las direcciones de correo electrónico de alias del usuario. Para conocer las propiedades de solicitud y respuesta, consulta la referencia de la API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKeyEn este ejemplo, se borra la cuenta de usuario liz@example.com:
DELETE https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Una respuesta correcta solo devuelve un código de estado HTTP 200.
Aspectos importantes que debes tener en cuenta antes de borrar un usuario:
- El usuario borrado ya no podrá acceder.
- Para obtener más información sobre la eliminación de cuentas de usuario, consulta el Centro de ayuda para administradores.
Cómo recuperar una cuenta de usuario
Un usuario borrado en los últimos 20 días debe cumplir con ciertas condiciones antes de que se pueda restablecer su cuenta.
Para recuperar una cuenta de usuario, utiliza la siguiente solicitud POST e incluye la autorización descrita en Autorizar solicitudes. El userKey es el id del usuario único que se encuentra en la respuesta de la operación Retrieve users deleted within the past 20 days. La dirección de correo electrónico principal del usuario o una de sus direcciones de correo electrónico de alias no se pueden usar en userKey para esta operación. Para conocer las propiedades de solicitud y respuesta, consulta la referencia de la API.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/undeleteEn este ejemplo, se recupera el usuario liz@example.com. Se restablecen todas las propiedades anteriores de la cuenta de este usuario:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Una respuesta correcta solo devuelve un código de estado HTTP 204. Para ver la cuenta del usuario recuperado, usa la operación Retrieve a user.