A API Directory oferece métodos programáticos para criar, atualizar e excluir usuários. Também é possível receber informações sobre usuários individuais ou listas de usuários que atendam aos critérios especificados. Veja a seguir exemplos de algumas operações básicas de usuário.
Criar uma conta de usuário
Você pode adicionar uma conta de usuário a qualquer domínio da sua conta do Google Workspace. Antes de adicionar uma conta de usuário, confirme a propriedade do domínio.
Se você tiver feito upgrade da sua conta pessoal do Gmail para uma conta de e-mail comercial com seu próprio nome de domínio, só poderá criar novas contas de usuário se desbloquear as configurações adicionais do Google Workspace. Veja mais detalhes em Contas de e-mail comercial do G Suite atualizadas para o G Suite Basic.
Para criar uma conta de usuário em um dos seus domínios, use a solicitação POST
a seguir e inclua a autorização descrita em Saiba mais sobre autenticação e autorização. Veja os escopos disponíveis para a API Directory na lista de escopos do OAuth 2.0. Para as propriedades de string de consulta de solicitação, consulte o método users.insert()
.
POST https://admin.googleapis.com/admin/directory/v1/users
Todas as solicitações de criação exigem que você envie as informações necessárias para atender à solicitação. Se você estiver usando bibliotecas de cliente, elas convertem os objetos de dados da linguagem escolhida em objetos formatados em dados JSON.
Solicitação JSON
O JSON a seguir mostra um exemplo de solicitação para criar um usuário. Para ver a lista completa de propriedades de solicitação e resposta, consulte a Referência da 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
}
Se a taxa de consulta de solicitações de criação for muito alta, você poderá receber respostas HTTP 503
do servidor de API indicando que sua cota foi excedida. Se você receber essas respostas, use um algoritmo de espera exponencial para repetir as solicitações.
Observações sobre uma nova conta:
- Se a Conta do Google tiver comprado licenças de e-mail, a nova conta de usuário receberá automaticamente uma caixa de e-mails. A atribuição pode levar alguns minutos para ser concluída e ativada.
- A edição de um campo somente leitura em uma solicitação, como
isAdmin
, é ignorada silenciosamente pelo serviço da API. - O número máximo permitido de domínios em uma conta é 600 (1 domínio principal + 599 domínios adicionais)
- Se um usuário não tiver sido atribuído a uma unidade organizacional específica quando a conta de usuário foi criada, a conta está na unidade organizacional de nível superior. A unidade organizacional de um usuário determina a quais serviços do Google Workspace ele tem acesso. Se o usuário for movido para uma nova organização, o acesso dele será alterado. Para saber mais sobre as estruturas de organização, consulte a Central de Ajuda de administração. Veja mais informações sobre como mover um usuário para uma organização diferente em Atualizar um usuário.
- É necessário um
password
para novas contas de usuário. Se umhashFunction
for especificado, a senha precisará ser uma chave de hash válida. Se não for especificada, a senha deverá estar em texto claro e ter de 8 a 100 caracteres ASCII. Para mais informações, consulte a Referência da API. - Para usuários com um plano flexível para o Google Workspace, a criação de usuários com essa API vai causar um impacto monetário e resultar em cobranças na sua conta de faturamento de cliente. Para saber mais, consulte as informações de faturamento da API.
- Uma conta do Google Workspace pode incluir qualquer um dos seus domínios. Em uma conta com vários domínios, os usuários de um domínio podem compartilhar serviços com os usuários de outros domínios. Para saber mais sobre os usuários em vários domínios, consulte APIs de vários domínios.
- Pode haver contas conflitantes. Verifique se alguém que você planeja adicionar já tem uma Conta do Google. Depois siga as etapas para evitar conflitos com essas contas. Consulte Encontrar e resolver contas conflitantes.
- Pode haver contas de visitantes. Se os usuários convidarem pessoas fora da sua organização que não têm uma Conta do Google para colaborar no Drive, eles receberão contas de visitante no formato "visitante_usuário@seu_domínio.com". Se você adicionar um usuário com o mesmo nome de usuário de uma conta de visitante, a conta será convertida em uma conta completa do Google Workspace. A conta manterá as permissões atuais do arquivo do Drive. Consulte Compartilhar documentos com visitantes.
Uma resposta bem-sucedida retorna um código de status HTTP 200. Juntamente com o código do status, a resposta retorna as propriedades da nova conta de usuário.
Atualizar uma conta de usuário
Para atualizar uma conta de usuário, use a seguinte solicitação PUT
e inclua a autorização descrita em Autorizar solicitações. O
userKey
pode ser o endereço de e-mail principal do usuário, o usuário único id
ou um
dos endereços de e-mail de alias do usuário.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey
O corpo da solicitação e da resposta contém uma instância de
User
. No entanto, a API Directory oferece suporte à semântica de patch, assim você só precisa enviar os campos atualizados em sua solicitação.
Exemplo de solicitação
No exemplo abaixo, o givenName
do usuário era "Elizabeth" quando a conta
de usuário foi criada, e apenas um endereço de e-mail de trabalho foi fornecido.
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
}
}
A solicitação abaixo atualiza givenName
de "Elizabeth" para "Liz" e também adiciona um endereço de e-mail residencial. Os dois endereços de e-mail são totalmente fornecidos porque o campo é uma matriz.
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"
}
]
}
Uma resposta bem-sucedida retorna um
código de status HTTP 200
e um recurso User
com os campos atualizados.
Esteja ciente do seguinte ao atualizar o nome da conta de um usuário:
- Renomear uma conta de usuário muda o endereço de e-mail principal dele e o domínio usado ao recuperar as informações do usuário. Antes de renomear um usuário, recomendamos que você o desconecte de todos os serviços e sessões do navegador.
- O processo de renomeação de uma conta de usuário pode levar até 10 minutos para ser propagado em todos os serviços.
- Quando você renomeia um usuário, o nome antigo é mantido como um alias para garantir a entrega contínua de e-mails no caso de configurações de encaminhamento de e-mail e não está disponível como um novo nome de usuário.
- Em geral, também recomendamos não usar o endereço de e-mail do usuário como uma chave para dados persistentes, porque o endereço de e-mail está sujeito a alterações.
- Para ver uma lista completa dos efeitos de renomear um usuário nos apps do Google Workspace, consulte a Central de Ajuda do administrador.
Tornar um usuário administrador
Para tornar o usuário um superadministrador, use a solicitação POST
a seguir e inclua a autorização descrita em Autorizar solicitações. O userKey
pode ser o endereço de e-mail principal do usuário, o usuário único id
ou um dos endereços de e-mail de alias do usuário. Para as propriedades de solicitação e resposta, consulte Referência da API. Veja mais informações sobre um superadministrador na Central de Ajuda de administração.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
Solicitação JSON
Neste exemplo, o usuário cujo userKey
é liz@example.com se tornou um superadministrador:
POST https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/makeAdmin
{ "status": true }
Uma resposta bem-sucedida retorna um código de status HTTP 200.
Gerenciar as relações com o usuário
A API Directory usa o campo relations
para definir diferentes tipos
de relações entre usuários. Geralmente, as pessoas usam esse campo em um ambiente corporativo para relações entre gerente e funcionários, mas ele também é compatível com muitos outros tipos. O relacionamento é exibido no card "Pessoas relacionadas" do usuário em qualquer aplicativo do Google Workspace compatível com o cartão. Para exemplos de onde o cartão está visível, consulte
Adicionar informações ao perfil de um usuário no diretório.
Criar uma relação entre usuários
É possível definir um relacionamento em apenas uma direção, a partir do
usuário "proprietário", cujo registro inclui o campo relations
. O type
descreve a relação da outra pessoa com o usuário proprietário. Por
exemplo, em uma relação de administrador-funcionário, o funcionário é o proprietário, e
você adiciona um campo relations
à conta dele com o tipo manager
. Para
tipos permitidos, consulte a
referência do objeto User
.
Configure o relacionamento criando ou atualizando o usuário proprietário com um corpo de solicitação JSON que inclui o campo relations
.
Você pode criar vários relacionamentos em uma solicitação.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_1",
"type": "manager"
},
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "dotted_line_manager"
}
]
}
Atualizar ou excluir um relacionamento
O campo relations
só pode ser atualizado como um todo. Não é possível direcionar as pessoas listadas para alterar o tipo de relação ou removê-las. No exemplo acima, para remover a relação atual entre administradores e tornar o administrador de linha pontilhada o administrador do usuário proprietário, atualize a conta do usuário proprietário com todos os valores do campo conforme desejado.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Para remover todas as relações com o usuário proprietário, defina relations
como vazio:
{
"relations": []
}
Recuperar um usuário
Para recuperar um usuário, use a solicitação GET
a seguir e inclua a autorização descrita em Autorizar solicitações. O userKey
pode ser o endereço de e-mail principal do usuário, o usuário único id
ou um dos endereços de e-mail de alias do usuário. Para as propriedades de solicitação e resposta, consulte a Referência da API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey
Este exemplo mostra as propriedades da conta de usuário de um usuário cujo endereço de e-mail principal ou alias é liz@example.com:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Resposta de JSON
Uma resposta bem-sucedida retorna um código de status HTTP 200. Juntamente com o código do status, a resposta retorna as propriedades da conta do usuário.
{ "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 os usuários em um domínio
Para recuperar todos os usuários no mesmo domínio, use a seguinte solicitação GET
e inclua a autorização descrita em Autorizar solicitações. Para facilitar a leitura, este exemplo usa retornos de linha:
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 as propriedades de solicitação e resposta, consulte a Referência da API.
Resposta de JSON
Neste exemplo, todos os usuários no domínio example.com são retornados com um máximo de dois domínios de usuário por página de resposta. Há uma nextPageToken
para a lista de acompanhamento de usuários nesta resposta. Por padrão, o sistema retorna uma lista de 100 usuários em ordem alfabética do endereço de e-mail do usuário:
GET https://admin.googleapis.com/admin/directory/v1/users?domain=example.com&maxResults=2
Uma resposta bem-sucedida retorna um código de status HTTP 200. Junto com o código de status, a resposta retorna duas contas de usuário no domínio 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 os usuários da conta
Para recuperar todos os usuários em uma conta que pode consistir em vários domínios, use a seguinte solicitação GET
e inclua a autorização descrita em Autorizar solicitações. Para facilitar a leitura, este exemplo usa retornos de linha:
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
- A string de consulta
customer
é o valormy_customer
oucustomerId
. - Use a string
my_customer
para representar acustomerId
da sua conta. - Como administrador do revendedor, use o
customerId
do cliente de revenda. Para ocustomerId
, use o nome de domínio principal da conta na solicitação Recuperar todos os usuários em um domínio. A resposta resultante tem o valorcustomerId
. - A string de consulta
orderBy
opcional determina se a lista é classificada pelo endereço de e-mail principal do usuário, nome da família ou nome. Ao usarorderBy
, também é possível usar a string de consultasortOrder
para listar os resultados em ordem crescente ou decrescente. - A string de consulta
query
opcional permite pesquisar muitos campos em um perfil de usuário, incluindo campos principais e personalizados. Consulte Pesquisar usuários para ver exemplos.
Para as propriedades de solicitação e resposta, consulte a Referência da API.
Neste exemplo, um administrador de conta está solicitando que todos os usuários da conta sejam retornados com uma entrada de usuário em cada página de resposta. O nextPageToken
vai para a página seguinte de resultados:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
Neste exemplo, um administrador de revendedor está solicitando todos os usuários em uma conta de revenda que tem o valor customerId
de C03az79cb
.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
Resposta de JSON
Uma resposta bem-sucedida retorna um código de status HTTP 200. Junto com o código de status, a resposta retorna todos os usuários nesta conta:
{ "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 usuários excluídos recentemente
Para recuperar todos os usuários excluídos nos últimos 20 dias de uma conta ou de um dos domínios da conta, use as seguintes solicitações GET
e inclua a autorização descrita em Autorizar solicitações. Para cancelar a exclusão de um usuário, consulte Cancelar a exclusão de um usuário.
Para recuperar usuários excluídos nos últimos 20 dias do domínio principal ou de um subdomínio da conta, use a seguinte solicitação GET
. A string de consulta domain
é o nome do domínio principal. Para as propriedades de solicitação e resposta do usuário, consulte a Referência da API. Para facilitar a leitura, este exemplo usa retornos de linha:
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=trueSe uma conta tiver vários domínios, você poderá recuperar usuários excluídos dos últimos 20 dias em toda a conta. Para isso, use a seguinte solicitação
GET
. Para facilitar a leitura, este exemplo usa retornos de linha:
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
- A string de consulta
customer
é o valormy_customer
oucustomerId
. - Como administrador da conta, use a string
my_customer
para representar acustomerId
. - Como administrador do revendedor, use o
customerId
do cliente de revenda. Para ocustomerId
, use o nome de domínio principal da conta na solicitação Recuperar todos os usuários em um domínio. A resposta resultante tem o valorcustomerId
.
Para as propriedades de solicitação e resposta, consulte a Referência da API.
Neste exemplo, um administrador está solicitando todos os usuários excluídos na conta:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&showDeleted=true
Resposta de JSON
Uma resposta bem-sucedida retorna um código de status HTTP 200. Junto com o código do status, a resposta retorna todas as contas de usuários excluídas nos últimos 20 dias:
{ "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 a foto de um usuário
A API recupera uma miniatura da foto do perfil do Chat no Gmail. Para recuperar a foto mais recente do usuário, use a seguinte solicitação GET
e inclua a autorização descrita em Autorizar solicitações. O userKey
pode ser o endereço de e-mail principal do usuário, o usuário id
ou qualquer um dos e-mails de alias do usuário. Para as propriedades de solicitação e resposta, consulte a Referência da API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Neste exemplo, a foto mais recente de liz@example.com é retornada:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
Resposta JSON
Uma resposta bem-sucedida retorna um código de status 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" }
A codificação Base64 da API para suas fotos é semelhante à RFC 4648 "base64url". Isso significa que:
- O caractere de barra (/) é substituído pelo caractere sublinhado (_).
- O sinal de mais (+) substitui o caractere hífen (-).
- O caractere de sinal de igual (=) é substituído pelo asterisco (*).
- Para o padding, o caractere de ponto (.) é usado em vez da definição RFC-4648 baseURL que usa o sinal de igual (=) para o padding. Isso é feito para simplificar a análise do URL.
- Seja qual for o tamanho do upload da foto, a API reduz o tamanho proporcional para 96 x 96 pixels.
Se você precisar criar links compatíveis a partir do JavaScript, a Biblioteca do Encerramento do Google incluirá funções de codificação e decodificação Base64 lançadas sob a licença Apache.
Recuperar um usuário como não administrador
Embora as contas de usuário só possam ser modificadas por administradores, qualquer usuário no domínio pode ler os perfis de usuário. Um usuário que não é administrador pode fazer uma solicitação users.get
ou users.list
com o parâmetro viewType
igual a domain_public
para recuperar o perfil público de um usuário. O escopo https://www.googleapis.com/auth/admin.directory.user.readonly
é ideal para este caso de uso.
A visualização domain_public
permite que um usuário que não é administrador acesse um conjunto padrão de campos
principais. Para um campo personalizado, é possível escolher se ele será público ou particular ao definir o esquema.
Atualizar a foto de um usuário
Para atualizar a foto de um usuário, use a solicitação PUT
a seguir e inclua a autorização descrita em Autorizar solicitações. O userKey
pode ser o endereço de e-mail principal do usuário, o usuário id
ou qualquer um dos e-mails dos aliases de usuários. Para as propriedades de solicitação e resposta, consulte a Referência da API.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Neste exemplo, a foto liz@example.com é atualizada:
PUT https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
{
"photoData": "web safe base64 encoded photo data"
}
Ao atualizar uma foto, a height
e a width
são ignoradas pela API.
Resposta JSON
Uma resposta bem-sucedida retorna um código de status 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" }
Excluir a foto de um usuário
Para excluir a foto de um usuário, use a seguinte solicitação DELETE
e inclua a autorização descrita em Autorizar solicitações. O userKey
pode ser o endereço de e-mail principal do usuário, o usuário id
ou qualquer um dos e-mails dos aliases de usuários. Para as propriedades de solicitação e resposta, consulte a Referência da API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Depois de excluída, a foto do usuário não aparece. Sempre que a foto de um usuário for necessária, uma silhueta será exibida.
Excluir uma conta de usuário
Para excluir uma conta de usuário, use a solicitação DELETE
a seguir e inclua a autorização descrita em Autorizar solicitações. O userKey
pode ser o endereço de e-mail principal do usuário, o usuário único id
ou um dos endereços de e-mail de alias do usuário. Para as propriedades de solicitação e resposta, consulte a Referência da API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey
Neste exemplo, a conta de usuário liz@example.com é excluída:
DELETE https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Uma resposta bem-sucedida retorna apenas um código de status HTTP 200.
Considerações importantes antes de excluir um usuário:
- O usuário excluído não poderá mais fazer login.
- Saiba mais sobre a exclusão de contas de usuário na Central de Ajuda de administração.
Cancelar a exclusão de uma conta de usuário
Um usuário excluído nos últimos 20 dias precisa atender a determinadas condições antes da restauração da conta.
Para cancelar a exclusão de uma conta de usuário, use a solicitação POST
a seguir e inclua a autorização descrita em Autorizar solicitações. O userKey
é o usuário único id
encontrado na resposta da operação Recuperar usuários excluídos nos últimos 20 dias. O endereço de e-mail principal do usuário ou um dos endereços de e-mail de alias do usuário não pode ser usado no userKey
para esta operação. Para as propriedades de solicitação e resposta, consulte a Referência da API.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/undelete
Neste exemplo, a exclusão do usuário liz@example.com é cancelada. Todas as propriedades anteriores da conta desse usuário são restauradas:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Uma resposta bem-sucedida retorna apenas um código de status HTTP 204. Para ver a conta de usuário não excluída, use a operação Recuperar um usuário.