Questa guida spiega come utilizzare il metodo
update()
nella risorsa Membership
dell'API Google Chat per modificare gli attributi
di un abbonamento, ad esempio per trasformare un membro di uno spazio in un amministratore dello spazio o viceversa.
Se sei un amministratore di Google Workspace, puoi chiamare il metodo update()
per aggiornare l'appartenenza di qualsiasi spazio nella tua organizzazione Google Workspace.
La risorsa
Membership
indica se un utente umano o un'app Google Chat è invitato a, fa parte di o non è presente in uno spazio.
Prerequisiti
Node.js
- Un account Google Workspace Business o Enterprise con accesso a Google Chat.
- Configura l'ambiente:
- Crea un progetto Google Cloud.
- Configura la schermata per il consenso OAuth.
- Attiva e configura l'API Google Chat con un nome, un'icona e una descrizione per la tua app di chat.
- Installa la libreria client Cloud Node.js.
- Crea le credenziali di accesso in base a come vuoi autenticarti nella richiesta dell'API Google Chat:
- Per l'autenticazione come utente di Chat,
crea le credenziali dell'ID client OAuth e salvale come file JSON denominato
credentials.json
nella directory locale. - Per l'autenticazione come app Chat,
crea le credenziali
dell'account di servizio e salvale come file JSON denominato
credentials.json
.
- Per l'autenticazione come utente di Chat,
crea le credenziali dell'ID client OAuth e salvale come file JSON denominato
- Scegli un ambito di autorizzazione in base al fatto che tu voglia eseguire l'autenticazione come utente o come app Chat.
Aggiornare un abbonamento
Per aggiornare l'abbonamento a uno spazio, passa quanto segue nella richiesta:
- Specifica un ambito di autorizzazione:
- Con l'autenticazione utente,
specifica l'ambito di autorizzazione
chat.memberships
. - Con l'autenticazione delle app, specifica l'ambito di autorizzazione
chat.app.memberships
. Quando aggiorni un abbonamento con l'autenticazione dell'app, puoi aggiornare solo gli abbonamenti negli spazi creati dalle app di chat. L'autenticazione dell'app richiede l'approvazione dell'amministratore una sola volta.
- Con l'autenticazione utente,
specifica l'ambito di autorizzazione
- Chiama il metodo
UpdateMembership()
. - Passa
membership
come istanza diMembership
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.
- Il campo
- 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 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 più autorizzazioni amministrative che gli consentono di gestire lo spazio, ad esempio aggiungendo o rimuovendo membri. Supportato solo negli spazi in cuispaceType
èSPACE
(spazi con nome).
Impostare un membro dello spazio normale come gestore dello spazio in qualità di utente
L'esempio seguente chiama l'API Chat utilizzando l'autenticazione utente per trasformare un membro normale dello spazio in un gestore dello spazio specificando role
come ROLE_MANAGER
:
Node.js
Per eseguire l'esempio, sostituisci quanto segue:
SPACE_NAME
: l'ID diname
dello spazio. Puoi ottenere l'ID chiamando il metodoListSpaces()
o dall'URL dello spazio.MEMBER_NAME
: l'ID dell'name
dell'abbonamento. Puoi ottenere l'ID chiamando il metodoListMemberships()
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'abbonamento specificato a un gestore dello spazio e restituisce
un'istanza di
Membership
.
Impostare un gestore dello spazio come membro normale in qualità di utente
L'esempio seguente chiama l'API Chat utilizzando l'autenticazione utente per rendere un gestore dello spazio un membro regolare dello spazio specificando role
come ROLE_MEMBER
:
Node.js
Per eseguire l'esempio, sostituisci quanto segue:
SPACE_NAME
: l'ID diname
dello spazio. Puoi ottenere l'ID chiamando il metodoListSpaces()
o dall'URL dello spazio.MEMBER_NAME
: l'ID dell'name
dell'abbonamento. Puoi ottenere l'ID chiamando il metodoListMemberships()
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'abbonamento specificato a un gestore dello spazio e restituisce
un'istanza di
Membership
.
Impostare un membro dello spazio normale come gestore dello spazio come app di Chat
L'autenticazione dell'app richiede l'approvazione dell'amministratore una sola volta.
Scrivere uno script che chiama l'API Chat
Il seguente esempio chiama l'API Chat utilizzando l'autenticazione dell'app per rendere un membro regolare dello spazio un gestore dello spazio specificando role
come ROLE_MANAGER
in body
che specifica gli attributi di abbonamento aggiornati:
Python
- Nella directory di lavoro, crea un file denominato
chat_membership_update_to_manager_app.py
. 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) # 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()
Nel codice, sostituisci quanto segue:
SPACE
: il nome di uno spazio, che puoi ottenere dal metodospaces.list
nell'API Chat o dall'URL di uno spazio.MEMBERSHIP
: un nome di abbonamento, che puoi ottenere dal metodospaces.members.list
nell'API Chat.
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 dell'app richiede l'approvazione dell'amministratore una sola volta.
Scrivere uno script che chiama l'API Chat
Il seguente esempio chiama l'API Chat utilizzando l'autenticazione dell'app per trasformare un gestore dello spazio in un membro regolare dello spazio specificando role
come ROLE_MEMBER
in body
, che specifica gli attributi di abbonamento aggiornati:
Python
- Nella directory di lavoro, crea un file denominato
chat_membership_update_to_member_app.py
. 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) # 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()
Nel codice, sostituisci quanto segue:
SPACE
: il nome di uno spazio, che puoi ottenere dal metodospaces.list
nell'API Chat o dall'URL di uno spazio.MEMBERSHIP
: un nome di abbonamento, che puoi ottenere dal metodospaces.members.list
nell'API Chat.
Nella directory di lavoro, compila ed esegui l'esempio:
python3 chat_membership_update_to_member_app.py
Aggiornare gli abbonamenti come amministratore di Google Workspace
Se sei un amministratore di Google Workspace, puoi chiamare il metodo update()
per aggiornare le iscrizioni a qualsiasi spazio della tua organizzazione Google Workspace.
Per chiamare questo metodo in qualità di amministratore di Google Workspace, procedi nel seguente modo:
- Chiama il metodo utilizzando l'autenticazione utente e specifica un ambito di autorizzazione che supporti la chiamata del metodo utilizzando privilegi amministrativi.
- Nella richiesta, specifica il parametro di query
useAdminAccess
sutrue
.
Per ulteriori informazioni ed esempi, vedi Gestire gli spazi di Google Chat come amministratore di Google Workspace.
Argomenti correlati
- Invitare o aggiungere un utente o un'app Google Chat a uno spazio.
- Visualizzare i dettagli dell'abbonamento di un utente o di un'app di chat.
- Elencare i membri di uno spazio.
- Rimuovere un utente o l'app Chat da uno spazio.