Aggiornare l'iscrizione di un utente a uno spazio di Google Chat

Questa guida spiega come utilizzare il metodo update() nella risorsa Membership dell'API Google Chat per modificare gli attributi di un'appartenenza, ad esempio trasformare un membro di uno spazio in un gestore dello spazio o un gestore dello spazio in un membro dello spazio.

Se sei un amministratore di Google Workspace, puoi chiamare il metodo update() per aggiornare l'appartenenza di qualsiasi spazio all'organizzazione Google Workspace.

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

Prerequisiti

Node.js

Aggiornare un abbonamento

Per aggiornare l'abbonamento a uno spazio, specifica quanto segue nella richiesta:

  • Specifica un ambito di autorizzazione:
  • Chiama il metodo UpdateMembership().
  • Passa membership come istanza di Membership con quanto segue:
    • Il campo name impostato sull'abbonamento da aggiornare, che include un ID spazio e un ID membro.
    • I campi dell'abbonamento da aggiornare impostati sui nuovi valori.
  • Passa updateMask per specificare gli aspetti dell'abbonamento da aggiornare, tra cui:
    • role: il ruolo dell'utente all'interno di uno spazio di Chat, che determina le sue azioni consentite nello spazio. I valori possibili sono:
      • ROLE_MEMBER: un membro dello spazio. L'utente dispone di autorizzazioni di base, come l'invio di messaggi allo spazio. Nelle conversazioni 1:1 e di gruppo senza nome, tutti hanno questo ruolo.
      • ROLE_MANAGER: un gestore dello spazio. L'utente dispone di tutte le autorizzazioni di base, oltre alle autorizzazioni amministrative che gli consentono di gestire lo spazio, ad esempio aggiungere o rimuovere membri. Supportato solo negli spazi in cui spaceType è SPACE (spazi con nome).

Impostare un membro normale dello spazio come gestore dello spazio come utente

Il seguente esempio chiama l'API Chat utilizzando l'autenticazione utente per rendere un normale membro dello spazio un gestore dello spazio specificando role come ROLE_MANAGER:

Node.js

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

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

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

  // Initialize request argument(s)
  const request = {
    membership: {
      // Replace SPACE_NAME and MEMBER_NAME here
      name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
      // Replace ROLE_NAME here with ROLE_MEMBER or ROLE_MANAGER
      role: 'ROLE_NAME'
    },
    updateMask: {
      // The field paths to update.
      paths: ['role']
    }
  };

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

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

main().catch(console.error);

Per eseguire il sample, 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 dell'abbonamento. Puoi ottenere l'ID chiamando il metodo ListMemberships() o dal corpo della risposta restituito dopo aver creato un abbonamento in modo asincrono con l'API Chat.
  • ROLE_NAME: il ruolo aggiornato, ROLE_MANAGER.

L'API Google Chat aggiorna l'appartenenza specificata a un gestore dello spazio e restituisce un'istanza di Membership.

Impostare un gestore dello spazio come membro normale come utente

Il seguente esempio chiama l'API Chat utilizzando l'autenticazione utente per fare in modo che un gestore dello spazio diventi un membro normale dello spazio specificando role come ROLE_MEMBER:

Node.js

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

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

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

  // Initialize request argument(s)
  const request = {
    membership: {
      // Replace SPACE_NAME and MEMBER_NAME here
      name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
      // Replace ROLE_NAME here with ROLE_MEMBER or ROLE_MANAGER
      role: 'ROLE_NAME'
    },
    updateMask: {
      // The field paths to update.
      paths: ['role']
    }
  };

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

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

main().catch(console.error);

Per eseguire il sample, 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 dell'abbonamento. Puoi ottenere l'ID chiamando il metodo ListMemberships() o dal corpo della risposta restituito dopo aver creato un abbonamento in modo asincrono con l'API Chat.
  • ROLE_NAME: il ruolo aggiornato, ROLE_MEMBER.

L'API Google Chat aggiorna l'appartenenza specificata a un gestore dello spazio e restituisce un'istanza di Membership.

Impostare un membro normale dello spazio come gestore dello spazio come app Chat

L'autenticazione delle app richiede un'approvazione dell'amministratore una tantum.

Crea una chiave API

Per chiamare un metodo dell'API Anteprima per gli sviluppatori, devi utilizzare una versione di anteprima per gli sviluppatori non pubblica del documento di rilevamento 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 è disponibile anche 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, vedi Applicare limitazioni alle chiavi API.

Scrivi uno script che chiami l'API Chat

Il seguente esempio chiama l'API Chat utilizzando l'autenticazione dell'app per rendere un normale membro dello spazio un gestore dello spazio specificando role come ROLE_MANAGER in body che specifica gli attributi dell'abbonamento aggiornati:

Python

  1. Nella directory di lavoro, crea un file denominato chat_membership_update_to_manager_app.py.
  2. Includi il seguente codice in chat_membership_update_to_manager_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 updates a specified space member to change
        it from a regular member to a space manager.
        '''
    
        # 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().patch(
    
            # The membership to update, and the updated role.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBERSHIP with a membership name.
            # Obtain the membership name from the membership of Chat API.
            name='spaces/SPACE/members/MEMBERSHIP',
            updateMask='role',
            body={'role': 'ROLE_MANAGER'}
    
          ).execute()
    
        # Prints details about the updated membership.
        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 dal metodo spaces.list nell'API Chat o dall'URL di uno spazio.

    • MEMBERSHIP: un nome dell'abbonamento, che puoi ottenere dal metodo spaces.members.list nell'API Chat.

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

    python3 chat_membership_update_to_manager_app.py

Impostare un gestore dello spazio come membro normale come app Chat

L'autenticazione delle app richiede un'approvazione dell'amministratore una tantum.

Crea una chiave API

Per chiamare un metodo dell'API Anteprima per gli sviluppatori, devi utilizzare una versione di anteprima per gli sviluppatori non pubblica del documento di rilevamento 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 è disponibile anche 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, vedi Applicare limitazioni alle chiavi API.

Scrivi uno script che chiami l'API Chat

Il seguente esempio chiama l'API Chat utilizzando l'autenticazione dell'app per fare in modo che un gestore dello spazio diventi un membro normale dello spazio specificando role come ROLE_MEMBER in body che specifica gli attributi dell'abbonamento aggiornati:

Python

  1. Nella directory di lavoro, crea un file denominato chat_membership_update_to_member_app.py.
  2. Includi il seguente codice in chat_membership_update_to_member_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 via user credentials,
        then updates a specified space member to change
        it from a regular member to a space manager.
        '''
    
        # 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().patch(
    
            # The membership to update, and the updated role.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBERSHIP with a membership name.
            # Obtain the membership name from the membership of Chat API.
            name='spaces/SPACE/members/MEMBERSHIP',
            updateMask='role',
            body={'role': 'ROLE_MEMBER'}
    
          ).execute()
    
        # Prints details about the updated membership.
        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 dal metodo spaces.list nell'API Chat o dall'URL di uno spazio.

    • MEMBERSHIP: un nome dell'abbonamento, che puoi ottenere dal metodo spaces.members.list nell'API Chat.

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

    python3 chat_membership_update_to_member_app.py

Aggiornare le iscrizioni in qualità di amministratore di Google Workspace

Se sei un amministratore di Google Workspace, puoi chiamare il metodo update() per aggiornare le iscrizioni per qualsiasi spazio della tua organizzazione Google Workspace.

Per chiamare questo metodo in qualità di amministratore di Google Workspace:

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