La API de Directorio 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 cumplan con los criterios especificados. 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, consulte Cuentas de correo electrónico empresarial de G Suite actualizadas a G Suite Basic.
Para crear una cuenta de usuario con uno de tus dominios, usa la siguiente solicitud POST
e incluye la autorización que se describe en Más información sobre la autenticación y la autorización. Puedes ver los alcances disponibles para la API de Directorio en la lista de alcances de OAuth 2.0. Para las propiedades de la string de consulta de 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 completar la solicitud. Si usas bibliotecas cliente, estas convierten los objetos de datos del lenguaje que elegiste en objetos con formato JSON.
Solicitud JSON
El siguiente JSON muestra una solicitud de ejemplo para crear un usuario. Para ver la lista completa de 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 tu porcentaje de consultas para solicitudes de creación es demasiado alto, es posible que recibas respuestas HTTP 503
del servidor de la API en las que se indique que se excedió tu cuota. Si obtienes estas respuestas, usa un algoritmo de retirada exponencial para volver a realizar tus solicitudes.
Debes tener en cuenta lo siguiente sobre una cuenta nueva:
- Si la Cuenta de Google compró licencias de correo electrónico, se asigna un buzón a la cuenta de usuario nueva de forma automática. Esta asignación puede tardar unos minutos en completarse y activarse.
- El servicio de API ignora en silencio 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 600 (1 dominio principal + 599 dominios adicionales)
- Si un usuario no se asignó 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 el usuario se traslada a una nueva organización, su acceso cambia. Para obtener más información sobre las estructuras organizativas, consulte el Centro de ayuda para la administración. Para obtener más información sobre cómo mover un usuario a otra organización, consulta Cómo actualizar un usuario.
- Se requiere un
password
para 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 claro y tener entre 8 y 100 caracteres ASCII. Para obtener más información, consulta la Referencia de la API. - Para los usuarios con un plan flexible de Google Workspace, la creación de usuarios por medio de esta API generará un impacto monetario y generará cargos en la cuenta de facturación de su cliente. Para obtener más información, consulta los datos 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 usuarios de otros dominios de la cuenta. Para obtener más información sobre los usuarios de varios dominios, consulte la información de la API sobre varios dominios.
- Es posible que existan 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. Consulte el artículo Cómo encontrar y resolver cuentas en conflicto.
- Es posible que haya cuentas de visitantes. Si los usuarios invitan a personas ajenas a tu organización que no tienen Cuentas de Google a colaborar en Drive, recibirán cuentas de visitantes con el formato nombredeusuario_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 actuales de sus archivos de Drive. Consulte Cómo compartir documentos con visitantes.
Si la respuesta es correcta, se muestra un código de estado HTTP 200. Junto con el código de estado, la respuesta muestra las propiedades de la nueva cuenta de usuario.
Actualizar una cuenta de usuario
Para actualizar una cuenta de usuario, usa la siguiente solicitud PUT
e incluye la autorización descrita en Autorizar solicitudes. userKey
puede ser la dirección de correo electrónico principal del usuario, el usuario único id
o una de las direcciones de correo electrónico de alias del usuario.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey
El cuerpo de la solicitud y 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 solicitud que se muestra más abajo 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 arreglo.
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 muestra un código de estado HTTP 200
y un recurso User
con los campos actualizados.
Tenga en cuenta lo siguiente cuando actualice el nombre de cuenta de un usuario:
- El cambio de nombre de una cuenta de usuario cambia la dirección de correo electrónico principal del usuario y el dominio que se usa para recuperar la información de este usuario. Antes de cambiar el nombre de un usuario, te recomendamos que lo cierres en todas las sesiones y servicios del navegador.
- El proceso de cambio de nombre de una cuenta de usuario puede demorar hasta 10 minutos en propagarse a todos los servicios.
- Cuando cambias el nombre de un usuario, el nombre de usuario anterior se conserva como un alias para garantizar la entrega continua del correo electrónico en el caso de la configuración de reenvío de correo electrónico y no está disponible como un nombre de usuario nuevo.
- En general, también recomendamos no usar la dirección de correo electrónico del usuario como clave para los datos persistentes porque la dirección de correo electrónico está sujeta a cambios.
- Para obtener una lista completa de los efectos de cambiar el nombre de un usuario a través de las apps de Google Workspace, consulta el Centro de ayuda para administradores.
Cómo convertir a un usuario en administrador
Para convertir al usuario en un administrador avanzado, usa la siguiente solicitud POST
e incluye la autorización que se describe en Autorizar solicitudes. El elemento userKey
puede ser la dirección de correo electrónico principal del usuario, el usuario único id
o una de las direcciones de correo electrónico del usuario. Para obtener las propiedades de solicitud y respuesta, consulta la Referencia de la API. Para obtener más información sobre los administradores avanzados, consulte el Centro de ayuda para la administración.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
Solicitud 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 }
Si la respuesta es correcta, se muestra un código de estado HTTP 200.
Cómo administrar las relaciones con los usuarios
La API de Directorio usa el campo relations
para definir diferentes tipos de relaciones entre usuarios. En una configuración empresarial, las personas suelen usar este campo para las relaciones de empleado y gerente, pero este 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 lugares en los que la tarjeta es visible, consulta Cómo agregar información al perfil del directorio de un usuario.
Cree una relación entre los usuarios
Puedes definir una relación en una sola dirección, a partir del usuario "propietario", cuyo registro incluye el campo relations
. El elemento type
describe la relación de la otra persona con el usuario propietario. Por ejemplo, en una relación administrador-empleado, el empleado es el usuario propietario y tú agregas un campo relations
a su cuenta con el tipo manager
. Para tipos permitidos, consulta la referencia de objeto User
.
Configura la relación mediante la creación o actualización del 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"
}
]
}
Actualizar o borrar una relación
Solo puedes 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íneas de puntos sea el administrador del usuario propietario, actualiza la cuenta del usuario propietario con todos los valores del campo como desees.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Para quitar todas las relaciones del usuario propietario, configura relations
como vacío:
{
"relations": []
}
Cómo recuperar un usuario
Para recuperar un usuario, usa la siguiente solicitud GET
e incluye la autorización descrita en Autorizar solicitudes. El elemento userKey
puede ser la dirección de correo electrónico principal del usuario, el usuario único id
o una de las direcciones de correo electrónico 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
En este ejemplo, se muestran las propiedades de la cuenta de usuario del 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
Si la respuesta es correcta, se muestra un código de estado HTTP 200. Junto con el código de estado, la respuesta muestra 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 }
Recuperar 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, en este ejemplo se usan 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. En esta respuesta, hay un nextPageToken
para la lista de usuarios de seguimiento. De forma predeterminada, el sistema muestra una lista de 100 usuarios en orden alfabético según su dirección de correo electrónico:
GET https://admin.googleapis.com/admin/directory/v1/users?domain=example.com&maxResults=2
Si la respuesta es correcta, se muestra un código de estado HTTP 200. Junto con el código de estado, la respuesta muestra 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" }
Recuperar todos los usuarios de la cuenta
Para recuperar todos los usuarios de una cuenta que puede constar de varios dominios, usa la siguiente solicitud GET
e incluye la autorización descrita en Autorizar solicitudes. Para facilitar la lectura, en este ejemplo se usan 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 string de consulta
customer
es el valormy_customer
ocustomerId
. - Usa la string
my_customer
para representar elcustomerId
de tu cuenta. - Como administrador, usa el
customerId
del cliente de reventa. Para lacustomerId
, usa el nombre de dominio principal de la cuenta en la solicitud de la operación Recuperar todos los usuarios de un dominio. La respuesta resultante tiene el valorcustomerId
. - La cadena de consulta opcional
orderBy
determina si la lista está ordenada por dirección de correo electrónico principal, nombre de familia o nombre específico del usuario. Cuando usasorderBy
, también puedes usar la string de consultasortOrder
para enumerar los resultados en orden ascendente o descendente. - La string de consulta opcional
query
permite buscar en muchos campos de un perfil de usuario, incluidos los campos principales y personalizados. Consulta 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 cuenta solicita a todos los usuarios de la cuenta que se muestren con una entrada de usuario en cada página de respuesta. El nextPageToken
va a la página de seguimiento de resultados:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
En este ejemplo, un administrador de revendedor solicita a todos los usuarios de una cuenta de reventa que tiene el valor customerId
de C03az79cb
.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
Respuesta JSON
Si la respuesta es correcta, se muestra un código de estado HTTP 200. Junto con el código de estado, la respuesta muestra 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" }
Recuperar usuarios borrados recientemente
Para recuperar todos los usuarios borrados en el intervalo de los últimos 20 días de una cuenta o de uno de los dominios de la cuenta, usa las siguientes solicitudes GET
y agrega la autorización que se describe en Autorizar solicitudes. Para recuperar un usuario, consulta Recupera un usuario.
Para recuperar usuarios borrados en los intervalos de los últimos 20 días del dominio principal de la cuenta o un subdominio, use la siguiente solicitud GET
. La string de consulta domain
es el nombre de dominio principal del dominio. Para obtener las propiedades de respuesta y solicitud del usuario, consulta la referencia de la API. Para mayor legibilidad, en este ejemplo se usan 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=trueSi una cuenta tiene varios dominios, puedes recuperar los usuarios borrados dentro de los últimos 20 días de toda la cuenta, mediante la siguiente solicitud
GET
. Para facilitar la lectura, en este ejemplo se usan 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 string de consulta
customer
es el valormy_customer
ocustomerId
. - Como administrador de la cuenta, usa la string
my_customer
para representar elcustomerId
de tu cuenta. - Como administrador, usa el
customerId
del cliente de reventa. Para lacustomerId
, usa el nombre de dominio principal de la cuenta en la solicitud de la operación Recuperar todos los usuarios de un dominio. 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 cuenta solicita todos los usuarios borrados en la cuenta:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&showDeleted=true
Respuesta JSON
Si la respuesta es correcta, se muestra un código de estado HTTP 200. Junto con el código de estado, la respuesta muestra 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" }
Recuperar la foto de un usuario
La API recupera una miniatura de la foto, la última foto de perfil de Google. Para recuperar la foto más reciente del usuario, utiliza 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/thumbnail
En este ejemplo, se muestra 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
Si la respuesta es correcta, se muestra 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 web Base64 segura de la API de tus fotos es similar a la de RFC 4648 "base64url". Esto significa lo siguiente:
- El carácter de barra diagonal (/) se reemplaza por el carácter de guion bajo (_).
- El carácter más (+) se reemplaza por el carácter (-).
- El carácter de signo igual (=) se reemplaza por un asterisco (*).
- Para el relleno, se usa el carácter de punto (.) en lugar de la definición base de RFC-4648 que usa el signo igual (=) para rellenar. Esto se hace para simplificar el análisis de la URL.
- Cualquiera sea el tamaño de la foto que se está subiendo, la API la reduce proporcionalmente a 96 x 96 píxeles.
Si necesitas crear vínculos compatibles desde JavaScript, la biblioteca de cierres de Google incluye funciones de codificación y decodificación en Base64 que se lanzan bajo la licencia Apache.
Cómo recuperar 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 no administrador puede realizar una solicitud users.get
o users.list
con el parámetro viewType
igual a domain_public
para recuperar el perfil público de un usuario. El permiso https://www.googleapis.com/auth/admin.directory.user.readonly
es ideal para este caso práctico.
La vista domain_public
permite que un usuario no administrador acceda a un conjunto estándar de campos principales. Para un campo personalizado, puedes elegir si debe ser público o privado cuando defines el esquema.
Actualizar la foto de un usuario
Para actualizar la foto de un usuario, usa la siguiente solicitud PUT
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 del 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/thumbnail
En 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 height
y width
.
JSON Response
Si la respuesta es correcta, se muestra 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, utiliza la siguiente solicitud DELETE
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 del 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/thumbnail
Una vez borrada, la foto del usuario no se mostrará. Siempre que se requiera la foto del usuario, se mostrará una silueta.
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 Autoriza solicitudes. El elemento userKey
puede ser la dirección de correo electrónico principal del usuario, el usuario único id
o una de las direcciones de correo electrónico 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
En 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 muestra 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, consulte el Centro de ayuda para la administración de cuentas.
Recuperar una cuenta de usuario
Los usuarios que se borren en los últimos 20 días deben cumplir con determinadas condiciones para que su cuenta se pueda restablecer.
Para recuperar una cuenta de usuario, usa la siguiente solicitud POST
e incluye la autorización descrita en Autorizar solicitudes. El userKey
es el usuario único id
que se encontró en la respuesta de la operación Recuperar usuarios borrados en los últimos 20 días. Para esta operación, la dirección de correo electrónico principal del usuario o una de las direcciones de correo electrónico de alias del usuario no pueden usarse en userKey
. Para conocer las propiedades de solicitud y respuesta, consulta la Referencia de la API.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/undelete
En este ejemplo, se recupera al usuario, liz@example.com. Se restablecieron todas las propiedades de las cuentas anteriores de este usuario:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Una respuesta correcta solo muestra un código de estado HTTP 204. Para ver la cuenta de un usuario no borrado, usa la operación Recuperar un usuario.