Neste guia, explicamos como um administrador do Google Workspace pode usar o
método search()
em um
recurso Space
da
API Google Chat para gerenciar espaços nomeados em toda a organização e realizar
tarefas administrativas.
Como administrador do Google Workspace, você só pode usar a API Chat
para gerenciar espaços nomeados, que são definidos como um
SpaceType
de
SPACE
. Os espaços nomeados são lugares permanentes em que as pessoas enviam mensagens,
compartilham arquivos e colaboram. Não é possível usar a API Chat para gerenciar
mensagens diretas (DMs)
ou bate-papos em grupo.
O
recurso Space
representa um lugar onde as pessoas e os apps de chat podem enviar mensagens,
compartilhar arquivos e colaborar. Há vários tipos de espaços:
- As mensagens diretas (DMs) são conversas entre dois usuários ou um usuário e um app do Chat.
- As conversas em grupo são conversas entre três ou mais usuários e apps de chat.
- Os espaços nomeados são lugares permanentes em que as pessoas enviam mensagens, compartilham arquivos e colaboram.
Como administrador do Google Workspace, você pode usar a API Chat para procurar e gerenciar espaços nomeados na sua organização das seguintes maneiras:
- Auditar espaços na organização. Usando o
método
search()
, você pode extrair uma lista de todos os espaços em uma organização com informações detalhadas sobre as configurações e os metadados de cada espaço, como data de criação, data da última atividade, número de membros, status da configuração de histórico e capacidade de convidar convidados externos. - Encontre e exclua espaços inativos. Usando o
método
search()
, você pode encontrar e excluir espaços que não foram usados desde uma data e hora especificadas. Para mais detalhes e exemplos de código, consulte Encontrar e excluir espaços inativos. - Exportar uma lista de espaços com base nos critérios de pesquisa. Usando o método
search()
, você pode extrair uma lista de espaços que atendem aos critérios especificados noquery
e exportar os resultados para um arquivo CSV para análise. - Encontre e entre em contato com os administradores do espaço. Usando o método
search()
, é possível extrair uma lista de todos os espaços em uma organização e usar o métodomembers.list()
para extrair uma lista de todos os membros do espaço que são gerentes. - Encontrar espaços sem administradores designados. Usando o
método
search()
, é possível extrair uma lista de todos os espaços em uma organização e, em seguida, usar o métodomembers.list()
para extrair uma lista de espaços que não têm gerentes.
Pré-requisitos
Python
- Uma conta do Google Workspace para empresas ou empresas com acesso ao Google Chat.
- Configure o ambiente:
- Crie um projeto do Google Cloud.
- Configure a tela de consentimento OAuth.
- Ative e configure a API Google Chat com um nome, ícone e descrição para seu app do Chat.
- Instale a biblioteca de cliente da API do Google para Python (link em inglês).
-
Crie credenciais do ID do cliente OAuth para um aplicativo de computador. Para executar o exemplo neste
guia, salve as credenciais como um arquivo JSON chamado
client_secrets.json
no seu diretório local.
- Escolha um escopo de autorização que ofereça suporte à autenticação do usuário.
- Você precisa ter privilégios de administrador do Gerenciar Chat e conversas em espaços na sua organização do Google Workspace.
Chamar a API Google Chat como administrador
Para autenticar como um usuário com privilégios de administrador, transmita o seguinte na solicitação:
- Especifique um escopo de autorização que ofereça suporte à autenticação do usuário com privilégios de administrador.
- Defina o campo
useAdminAccess
comotrue
Esta seção mostra os seguintes exemplos de como chamar a API Chat como administrador:
- Pesquisar espaços chamando o método
search()
. - Encontre e exclua espaços inativos na
organização chamando o método
search()
para retornar uma lista de espaços inativos e chamando o métododelete()
para excluí-los.
Pesquisar espaços na sua organização
Este exemplo explica como os administradores do Google Workspace podem usar o
método search()
no recurso Space
da API Chat para pesquisar
espaços em uma organização com base em critérios especificados.
Para chamar o método search()
com
autenticação do usuário e
privilégios de administrador,
especifique o seguinte na solicitação:
- Especifique o escopo de autorização
chat.admin.spaces
ouchat.admin.spaces.readonly
. - Especifique
useAdminAccess=true
. - Especifique os parâmetros de pesquisa
query
para filtrar os resultados:customer = "customers/my_customer"
: obrigatório, e o único valor aceito écustomers/my_customer
.spaceType = "SPACE"
: obrigatório, e o único valor aceito éSPACE
.- Opcionalmente, uma ou mais consultas adicionais para filtrar ainda mais sua pesquisa
de espaços, como palavras-chave em nomes de exibição (
displayName
), a data de criação (createTime
) ou com base na atividade do espaço (lastActiveTime
).
O código abaixo mostra um exemplo de como usar privilégios de administrador para procurar espaços com um nome de exibição que contenha "Hello" e "World", em qualquer combinação:
Python
- No diretório de trabalho, crie um arquivo chamado
search_spaces_for_hello_world.py
. Inclua o seguinte código em
search_spaces_for_hello_world.py
:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build SCOPES = [ 'https://www.googleapis.com/auth/chat.admin.spaces.readonly', ] def main(): # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES, ) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) spaces = [] page_token = '' # Search for all spaces. while True: result = ( chat.spaces() .search( useAdminAccess=True, query=( 'customer = "customers/my_customer"' 'AND spaceType = "SPACE"' 'AND displayName:"Hello World"' ) pageToken=page_token, ) .execute() ) if 'spaces' not in result: print('No spaces found named Hello World.') return spaces.extend(result['spaces']) if 'nextPageToken' in result: page_token = result['nextPageToken'] else: break print(str(len(spaces)) + ' spaces found:') # Prints the list of spaces. print(spaces)
No diretório de trabalho, crie e execute o exemplo:
python3 search_spaces_for_hello_world.py
Encontrar e excluir espaços inativos
Este exemplo explica como os administradores do Google Workspace podem usar o
método search()
no recurso Space
da API Chat para encontrar
espaços inativos e excluí-los usando o método delete()
com o
parâmetro useAdminAccess
.
Espaços inativos do Google Chat, que não são mais usados, podem
ocupar espaço de armazenamento valioso e criar confusão na interface do usuário. Usando
o método search()
, os administradores podem encontrar espaços que não foram usados
desde uma data e hora especificadas, como há dois meses. Depois que a lista de
espaços é enumerada, os administradores podem realizar ações neles, como
atualização ou exclusão.
Para pesquisar uma lista de espaços inativos e excluí-los com a autenticação do usuário e os privilégios de administrador, transmita o seguinte nas suas solicitações:
- Para pesquisar espaços inativos, especifique o seguinte:
- Especifique o escopo de autorização
chat.admin.spaces
ouchat.admin.spaces.readonly
. - Chame o método
search()
no recursoSpaces
. - Defina
INACTIVE_SPACE_DEADLINE
como a data e a hora da última atividade que determina os espaços a serem retornados. - Especifique
useAdminAccess=true
. - Especifique os parâmetros de pesquisa
query
para filtrar os resultados:customer = "customers/my_customer"
: obrigatório, e o único valor aceito écustomers/my_customer
.spaceType = "SPACE"
: obrigatório, e o único valor aceito éSPACE
.lastActiveTime
: para filtrar sua solicitação e retornar apenas espaços inativos, especifiquelastActiveTime
.
- Especifique o escopo de autorização
- Para excluir os espaços inativos dos resultados da pesquisa, especifique o seguinte:
- Especifique o escopo de autorização
chat.admin.delete
. - Chame o método
delete()
no recursoSpaces
. - Especifique
useAdminAccess=true
.
- Especifique o escopo de autorização
O código abaixo mostra um exemplo de como pesquisar espaços inativos e excluí-los usando privilégios de administrador:
Python
No diretório de trabalho, crie um arquivo chamado
find_and_delete_inactive_spaces.py
.Inclua o seguinte código em
find_and_delete_inactive_spaces.py
:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build SCOPES = [ 'https://www.googleapis.com/auth/chat.admin.spaces.readonly', 'https://www.googleapis.com/auth/chat.admin.delete', ] # Any spaces that have not been active since this time will be deleted. INACTIVE_SPACE_DEADLINE = '"INACTIVE_DATE"' def main(): # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES, ) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) spaces = [] page_token = '' # Search for all inactive spaces. while True: result = ( chat.spaces() .search( useAdminAccess=True, query=( 'customer = "customers/my_customer" AND spaceType = "SPACE" AND' ' lastActiveTime < ' ) + INACTIVE_SPACE_DEADLINE, pageToken=page_token, ) .execute() ) if 'spaces' not in result: print('No inactive spaces found.') return spaces.extend(result['spaces']) if 'nextPageToken' in result: page_token = result['nextPageToken'] else: break print(str(len(spaces)) + ' inactive spaces found:') # Prints the list of inactive spaces. print(spaces) # Delete all inactive spaces. for space in spaces: ( chat.spaces() .delete( useAdminAccess=True, name=space['name'], ) .execute() ) print( 'Deleted space: ' + space['displayName'] + ', Resource Name: ' + space['name'] ) if __name__ == '__main__': main()
No código, substitua
INACTIVE_DATE
por uma data e hora no formato AAAA-MM-DDTHH:MM:SS+HH:MM. Por exemplo, "2024-06-01T00:00:00+00:00".No diretório de trabalho, crie e execute o exemplo:
python3 find_and_delete_inactive_spaces.py
Temas relacionados
- Excluir espaços
- Listar os participantes de um espaço
- Gerenciar espaços do Chat como administrador do Google Workspace
- Método
spaces.search()