Rimuovere un membro da uno spazio

Questa guida spiega come utilizzare il metodo delete nella risorsa membership dell'API Google Chat per rimuovere il membro da uno spazio, noto anche come eliminazione di un abbonamento. Non è possibile rimuovere i gestori dello spazio se sono l'unico gestore dello spazio. Assegna un altro utente come gestore dello spazio prima di rimuovere questi abbonamenti.

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

Prerequisiti

Python

  • Python 3.6 o versioni successive
  • Lo strumento di gestione dei pacchetti pip
  • Le librerie client di Google più recenti per Python. Per installarli o aggiornarli, esegui questo comando nell'interfaccia a riga di comando:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Un progetto Google Cloud con l'API Google Chat abilitata e configurata. Per i passaggi da seguire, vedi Creare un'app Google Chat.
  • Autorizzazione configurata per l'app Chat. Per eliminare un'iscrizione è necessaria l'autenticazione dell'utente con l'ambito di autorizzazione chat.memberships o chat.memberships.app da parte di un utente che dispone dell'autorizzazione per eliminare l'appartenenza specificata.

Rimuovere un membro da uno spazio

Per rimuovere un utente, un gruppo Google o un'app di Chat da uno spazio:

  • Per rimuovere un utente o un gruppo Google, specifica l'ambito dell'autorizzazione chat.memberships. Per rimuovere un'app di Chat, specifica l'ambito dell'autorizzazione di chat.memberships.app (le app possono eliminare solo la propria iscrizione e non quella di altre app). Come best practice, scegli l'ambito più restrittivo che permetta comunque il funzionamento dell'app.
  • Chiama il metodo delete sulla risorsa membership.
  • Supera il name dell'abbonamento da eliminare. Se l'appartenenza appartiene all'unico gestore dello spazio di uno spazio, assegna un altro utente come gestore dello spazio prima di eliminare l'appartenenza.

Per eliminare un abbonamento:

Python

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

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.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.memberships.app"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then deletes the specified membership.
        '''
    
        # 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)
    
        # 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:

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

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

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

    python3 chat_membership_delete.py
    

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

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