Rimuovere un membro da uno spazio

Questa guida spiega come utilizzare delete() sulla risorsa Membership dell'API Google Chat per rimuovere membri da un all'interno dello spazio di archiviazione, chiamata anche eliminazione di un abbonamento. I gestori dello spazio non possono essere rimossi se è l'unico gestore dello spazio in uno spazio. Assegna un altro utente come gestore dello spazio prima di rimuovere questi abbonamenti.

Se sei un amministratore di Google Workspace, puoi rimuovere utenti, Gruppi Google o app di Chat da qualsiasi spazio della tua organizzazione Google Workspace.

La Membership risorsa indica se un utente umano o un'app Google Chat è invitato, parte di o assente in uno spazio.

Prerequisiti

Node.js

Rimuovere un membro da uno spazio come utente

Per rimuovere un utente, un gruppo Google o un'app di Chat da un spazio con autenticazione dell'utente, quanto segue nella tua richiesta:

  • Specifica l'ambito di autorizzazione chat.memberships. L'utente che concede l'autorizzazione deve disporre dell'autorizzazione per rimuovere l'utente o il gruppo Google dallo spazio. Per rimuovere un'app di Chat, specifica l'ambito di autorizzazione chat.memberships.app (le app possono solo eliminare il proprio proprio abbonamento; non quella di altre app). Come best practice, scegli a un ambito restrittivo che consenta comunque il funzionamento dell'app.
  • Chiama il metodo DeleteMembership().
  • Passa il name dell'abbonamento da eliminare. Se l'abbonamento appartiene solo gestore dello spazio in uno spazio, assegna il ruolo di gestore a un altro utente prima eliminando questo abbonamento.

Ecco come eliminare un abbonamento con autenticazione utente:

Node.js

chat/client-libraries/cloud/delete-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.delete'];

// This sample shows how to delete a space with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME here
    name: 'spaces/SPACE_NAME'
  };

  // Make the request
  const response = await chatClient.deleteSpace(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Per eseguire questo esempio, sostituisci quanto segue:

  • SPACE_NAME: l'ID del name dello spazio. Puoi ottenere l'ID chiamando il metodo ListSpaces() o dall'URL dello spazio.
  • MEMBER_NAME: l'ID del name del membro. Puoi ottenerlo chiamando il metodo ListMemberships() .

In caso di esito positivo, il corpo della risposta restituisce l'appartenenza con 'state': 'NOT_A_MEMBER', a indicare che il membro non è più nello spazio.

{
    "name": "spaces/SPACE_NAME/members/MEMBER_NAME",
    "state": "NOT_A_MEMBER"
}

Rimuovere un membro da uno spazio come app di Chat

L'autenticazione app richiede una sola volta approvazione degli amministratori.

Per rimuovere un utente, un gruppo Google o un'app di Chat da un spazio con autenticazione delle app, superare quanto segue nella tua richiesta:

  • Specifica il valore chat.app.memberships nell'ambito dell'autorizzazione. L'eliminazione dell'appartenenza a un gestore dello spazio è solo supportati negli spazi creati dalle app di Chat.
  • Chiama il metodo delete sulla risorsa membership.
  • Supera il name dell'abbonamento da eliminare. Se l'abbonamento appartiene solo gestore dello spazio in uno spazio, assegna il ruolo di gestore a un altro utente prima eliminando questo abbonamento.

crea una chiave API

Per chiamare un metodo dell'API Developer Preview, devi utilizzare una versione di anteprima per lo sviluppatore non pubblica del documento di rilevamento dell'API. Per autenticare la richiesta, devi passare una chiave API.

Per creare la chiave API, apri il progetto Google Cloud della tua app ed esegui i seguenti passaggi:

  1. Nella console Google Cloud, vai a Menu > API e servizi > Credenziali.

    Vai a credenziali

  2. Fai clic su Crea credenziali > Chiave API.
  3. Viene visualizzata la nuova chiave API.
    • Fai clic su Copia per copiare la chiave API da utilizzare nel codice dell'app. La chiave API può anche essere che si trovano nella sezione "Chiavi API" delle credenziali del progetto.
    • Fai clic su Limita chiave per aggiornare le impostazioni avanzate e limitare l'utilizzo della chiave API. Per maggiori dettagli, consulta Applicazione di limitazioni relative alle chiavi API.

Scrivi uno script che chiami l'API Chat

Ecco come eliminare un abbonamento con autenticazione tramite app:

Python

  1. Nella directory di lavoro, crea un file denominato chat_membership_delete_app.py.
  2. Includi il seguente codice in chat_membership_delete_app.py:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships"]
    
    def main():
        '''
        Authenticates with Chat API using app authentication,
        then deletes the specified membership.
        '''
    
        # Specify service account details.
        creds = (
            service_account.Credentials.from_service_account_file('credentials.json')
            .with_scopes(SCOPES)
        )
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY')
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().members().delete(
    
            # The membership to delete.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBER with a membership name.
            # Obtain the membership name from the memberships resource of
            # Chat API. To delete a Chat app's membership, replace MEMBER
            # with app; an alias for the app calling the API.
            name='spaces/SPACE/members/MEMBER'
    
        ).execute()
    
        # Print Chat API's response in your command line interface.
        # When deleting a membership, the response body is empty.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Nel codice, sostituisci quanto segue:

    • API_KEY: la chiave API che hai creato per creare l'endpoint di servizio per l'API Chat.

    • SPACE: un nome dello spazio, che puoi ottenere il metodo spaces.list nell'API Chat o dall'URL di uno spazio.

    • MEMBER: il nome di un membro, che puoi ottenere dal metodo spaces.members.list nell'API Chat. Per eliminare l'abbonamento di un'app, sostituisci MEMBER con app.

  4. Nella directory di lavoro, crea ed esegui l'esempio:

    python3 chat_membership_delete_app.py

In caso di esito positivo, il corpo della risposta restituisce l'appartenenza con 'state': 'NOT_A_MEMBER', a indicare che il membro non è più nello spazio.

{
    "name": "spaces/SPACE/members/MEMBER",
    "state": "NOT_A_MEMBER"
}

Limitazioni e considerazioni

Rimuovere utenti o gruppi Google da uno spazio come amministratore di Google Workspace

Se sei un amministratore di Google Workspace, puoi chiamare il DeleteMembership() per rimuovere utenti, gruppi Google o App di chat da qualsiasi spazio di Google Workspace dell'organizzazione.

Per chiamare questo metodo come amministratore di Google Workspace, segui questi passaggi:

Per ulteriori informazioni ed esempi, vedi Gestire gli spazi di Google Chat come amministratore di Google Workspace.