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 atendem a critérios especificados. Confira a seguir exemplos de algumas operações básicas do usuário.
Criar uma conta de usuário
Você pode adicionar uma conta de usuário a qualquer um dos domínios da sua conta do Google Workspace. Antes de adicionar uma conta de usuário, confirme a propriedade do domínio.
Se você fez upgrade da sua conta pessoal do Gmail para uma conta de e-mail comercial com seu próprio nome de domínio, não será possível criar novas contas de usuário até desbloquear outras configurações do Google Workspace. Para mais detalhes, consulte Contas de e-mail comercial do Google Workspace atualizadas.
Para criar uma conta de usuário usando um dos seus domínios, use a seguinte solicitação POST e inclua a autorização descrita em Saiba mais sobre autenticação e autorização.
Confira os escopos disponíveis para a API Directory na lista de escopos do OAuth 2.0.
Para as propriedades de string de consulta da 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 ao pedido. Se você usar bibliotecas de cliente, elas vão converter os objetos de dados da linguagem escolhida em objetos formatados em JSON.
Solicitação JSON
O JSON a seguir mostra um exemplo de solicitação para criar um usuário. Para 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 consultas para solicitações de criação for muito alta, você poderá receber respostas HTTP
503 do servidor da API indicando que a cota foi
excedida. Se você receber essas respostas, use um
algoritmo de espera exponencial para
repetir as solicitações.
Ao criar uma conta, observe o seguinte:
- Se a Conta do Google tiver comprado licenças de e-mail, a nova conta de usuário vai receber uma caixa de correio automaticamente. Essa 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 de API. - O número máximo de domínios permitidos em uma conta é 600 (1 domínio principal + 599 domínios adicionais).
- Se um usuário não foi atribuído a uma unidade organizacional específica quando a conta foi criada, ela fica na unidade organizacional de nível superior. A unidade organizacional de um usuário determina quais serviços do Google Workspace ele pode acessar. Se o usuário for movido para uma nova organização, o acesso dele vai mudar. Para mais informações sobre estruturas organizacionais, consulte a Central de Ajuda para administradores. Para mais informações sobre como mover um usuário para outra organização, consulte Atualizar um usuário.
- Um
passwordé necessário para novas contas de usuário. Se umhashFunctionfor especificado, a senha precisará ser uma chave de hash válida. Se não for especificado, a senha deverá estar em texto sem formatação e ter entre 8 e 100 caracteres ASCII. Para mais informações, consulte a Referência da API. - Para usuários em um plano flexível do Google Workspace, a criação de usuários usando essa API terá impacto financeiro e resultará em cobranças na conta de faturamento do cliente. Para mais informações, consulte as informações de faturamento da API.
- Uma conta do Google Workspace pode incluir qualquer um dos seus domínios. Em uma conta de vários domínios, os usuários de um domínio podem compartilhar serviços com usuários de outros domínios da conta. Para mais informações sobre usuários em vários domínios, consulte as informações sobre vários domínios da API.
- Pode haver contas conflitantes. Verifique se a pessoa que você quer 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 de fora da sua organização que não têm Contas do Google para colaborar no Drive, elas vão receber contas de visitante no formato
visitor's_username@your_domain.com. Se você adicionar um usuário com o mesmo nome de usuário de uma conta de visitante, ela será convertida em uma conta completa do Google Workspace. A conta mantém as permissões atuais dos arquivos do Drive. Consulte Compartilhar documentos com visitantes.
Uma resposta bem-sucedida retorna um código de status HTTP 200. Junto com o código de 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 id exclusivo do usuário 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 é compatível com semântica de patch. Portanto, você só precisa enviar os campos atualizados na 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 do trabalho foi fornecido.
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
}
]
}
A solicitação a seguir 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 fornecidos
por completo 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
HTTP 200 código de status
e um recurso User
com os campos atualizados.
Ao atualizar o nome da conta de um usuário, observe o seguinte:
- Ao renomear uma conta de usuário, o endereço de e-mail principal e o domínio usado para recuperar as informações do usuário são alterados. Antes de renomear um usuário, recomendamos que você desconecte o usuário de todas as sessões do navegador e serviços.
- 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 em caso de configurações de encaminhamento. Ele não fica 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 ele está sujeito a mudanças.
- Para conferir uma lista completa dos efeitos de renomear um usuário em todos os apps do Google Workspace, acesse a Central de Ajuda do administrador.
Transformar um usuário em administrador
Para tornar um usuário um superadministrador, use a seguinte solicitação POST 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 id exclusivo do usuário 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.
Para mais informações sobre um superadministrador, consulte a
Central de Ajuda para administradores.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
O usuário precisa existir antes de ser promovido a superadministrador. Essa operação só pode ser realizada pelo superadministrador de uma conta. Administradores delegados não podem promover usuários a funções administrativas. Para informações sobre como usar o Google Admin Console para mudar a função de um administrador, consulte a Central de Ajuda para administradores.
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 relacionamentos de usuários
A API Directory usa o campo relations para definir diferentes tipos de relações entre usuários. Em um ambiente de negócios, as pessoas costumam usar
esse campo para relacionamentos entre gerente e funcionário e entre assistente e chefe, mas ele
também aceita muitos outros tipos. A relação aparece no card "Pessoas relacionadas" do usuário em qualquer aplicativo do Google Workspace que seja compatível com ele. Para ver exemplos de onde o card aparece, consulte
Adicionar informações ao perfil de um usuário no diretório.
Criar uma relação entre usuários
É possível definir uma relação em apenas uma direção, começando pelo 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 gerente-funcionário, o funcionário é o usuário proprietário, e você adiciona um campo relations à conta dele com o tipo manager. Para ver os tipos permitidos, consulte a referência do objeto User.
Crie ou atualize o usuário proprietário com um corpo de solicitação JSON que inclua o campo relations.
É possível criar várias relações 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
Só é possível atualizar o campo relations como um todo. Não é possível mudar o tipo de relacionamento ou remover pessoas específicas. No exemplo anterior, para remover a relação de gerente atual e fazer com que o gerente de linha pontilhada seja o gerente do usuário proprietário, atualize a conta do usuário proprietário com todos os valores dos campos como você quer que eles fiquem.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Para remover todas as relações do usuário proprietário, defina relations como vazio:
{
"relations": []
}
Recuperar um usuário
Para recuperar um 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 id exclusivo do usuário 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 retorna as propriedades da conta de usuário para o 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 JSON
Uma resposta bem-sucedida retorna um código de status HTTP 200. Junto com o código de status, a resposta retorna as propriedades da conta de 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 do 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 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á um nextPageToken para a
lista de usuários subsequente nesta resposta. Por padrão, o sistema retorna uma lista de 100 usuários em ordem alfabética do endereço de e-mail:
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. Além do 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 de 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_customeroucustomerId. - Use a string
my_customerpara representar ocustomerIdda sua conta. - Como administrador do revendedor, use o
customerIddo cliente revendido. Para ocustomerId, use o nome de domínio principal da conta na solicitação da operação Recuperar todos os usuários em um domínio. A resposta resultante tem o valorcustomerId. - A string de consulta
orderByopcional determina se a lista é classificada pelo endereço de e-mail principal, sobrenome ou nome do usuário. Ao usarorderBy, também é possível usar a string de consultasortOrderpara listar os resultados em ordem crescente ou decrescente. - A string de consulta
queryopcional permite pesquisar em vários campos de 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 da 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 de resultados a seguir:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
Neste exemplo, um administrador revendedor está solicitando todos os usuários em uma conta revendida
que tem o valor customerId de C03az79cb.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
Resposta 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 desta 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 dela, 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 de domínio principal do domínio. 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=true
Se uma conta tiver vários domínios, você poderá recuperar os usuários excluídos nos últimos 20 dias de toda a conta usando 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_customeroucustomerId. - Como administrador da conta, use a string
my_customerpara representar ocustomerIdda sua conta. - Como administrador do revendedor, use o
customerIddo cliente revendido. Para ocustomerId, use o nome de domínio principal da conta na solicitação da operaçã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 de conta 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 JSON
Uma resposta bem-sucedida retorna um código de status HTTP 200. Além do código de status, a resposta retorna todos os usuários da conta excluídos 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 de foto, a foto do perfil mais recente do Google. 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 segura para a Web das suas fotos pela API é semelhante à RFC 4648 "base64url". Isso significa:
- A barra (/) é substituída pelo sublinhado (_).
- O caractere de sinal de adição (+) é substituído pelo caractere de hífen (-).
- O caractere de sinal de igual (=) é substituído pelo asterisco (*).
- Para padding, o caractere de ponto final (.) é usado em vez da definição baseURL RFC-4648, que usa o sinal de igual (=) para padding. Isso é feito para simplificar a análise de URL.
- Qualquer que seja o tamanho da foto enviada, a API reduz proporcionalmente para 96 x 96 pixels.
Se você precisar criar links compatíveis com JavaScript, a Biblioteca Closure do Google inclui funções de codificação e decodificação Base64, que são 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. Um usuário sem privilégios de 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
esse caso de uso.
A visualização domain_public permite que um usuário sem privilégios de administrador acesse um conjunto padrão de campos principais. Para um campo personalizado, você pode escolher se ele será público ou privado ao definir o esquema.
Atualizar a foto de um usuário
Para atualizar a foto de um 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 id ou qualquer um dos e-mails dos aliases do usuário. 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 de 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 API ignora height e width.
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 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/photos/thumbnail
Depois de excluída, a foto do usuário não é mostrada. Em vez disso, uma silhueta é mostrada sempre que a foto de um usuário é necessária.
Excluir uma conta de usuário
Para excluir uma conta de 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 id exclusivo do usuário 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 um código de status HTTP 200.
Antes de excluir um usuário, considere o seguinte:
- O usuário excluído não poderá mais fazer login.
- Para mais informações sobre a exclusão de contas de usuário, consulte a Central de Ajuda para administradores.
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 que a conta dele possa ser restaurada.
Para recuperar uma conta de usuário, use a seguinte solicitação POST e inclua a autorização descrita em Autorizar solicitações. O
userKey é o id exclusivo do usuário 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 não pode ser usado no userKey para essa 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, o usuário liz@example.com é recuperado. Todas as propriedades de conta anteriores do usuário são restauradas:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Uma resposta bem-sucedida retorna um código de status HTTP 204. Para ver a conta do usuário não excluído, use a operação Recuperar um usuário.