Aktualizowanie subskrypcji użytkownika w pokoju Google Chat

Z tego przewodnika dowiesz się, jak używać metody update() w zasobie Membership interfejsu Google Chat API, aby zmieniać atrybuty członkostwa, np. zmieniać uczestnika pokoju w menedżera pokoju lub zmieniać menedżera pokoju w uczestnika pokoju.

Jeśli jesteś administratorem Google Workspace, możesz wywołać update() metodę aby zaktualizować członkostwo w dowolnym pokoju w organizacji Google Workspace.

MembershipZasób określa, czy użytkownik lub aplikacja Google Chat jest zaproszony do pokoju, należy do niego czy nie.

Wymagania wstępne

Node.js

Aktualizowanie subskrypcji

Aby zaktualizować członkostwo w przestrzeni, w prośbie przekaż te informacje:

  • Określ zakres autoryzacji:
  • Wywołaj metodę UpdateMembership().
  • Przekaż membership jako instancję Membership w ten sposób:
    • Pole name ustawione na członkostwo do zaktualizowania, które zawiera identyfikator pokoju i identyfikator użytkownika.
    • Pola członkostwa do zaktualizowania ustawione na nowe wartości.
  • Przekaż updateMask, aby określić aspekty subskrypcji do zaktualizowania. Obejmuje to te elementy:
    • role: rola użytkownika w pokoju czatu, która określa dozwolone działania w pokoju. Możliwe wartości:
      • ROLE_MEMBER: osoba w pokoju. Użytkownik ma podstawowe uprawnienia, takie jak wysyłanie wiadomości na czacie. W rozmowach 1:1 i grupowych bez nazwy każda osoba ma tę rolę.
      • ROLE_MANAGER: menedżer pokoju. Użytkownik ma wszystkie podstawowe uprawnienia oraz uprawnienia administracyjne, które pozwalają mu zarządzać pokojem, np. dodawać i usuwać członków. Obsługiwane tylko w pokojach, w których spaceType ma wartość SPACE (nazwane pokoje).

Przypisywanie osobie roli menedżera pokoju

W poniższym przykładzie wywoływany jest interfejs Chat API z użyciem uwierzytelniania użytkownika, aby zmienić zwykłego uczestnika pokoju w jego menedżera przez określenie role jako 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);

Aby uruchomić przykład, zastąp te elementy:

  • SPACE_NAME: identyfikator z przestrzeni name. Możesz go uzyskać, wywołując metodę ListSpaces() lub z adresu URL pokoju.
  • MEMBER_NAME: identyfikator z name subskrypcji. Identyfikator możesz uzyskać, wywołując metodę ListMemberships() lub z treści odpowiedzi zwróconej po utworzeniu członkostwa asynchronicznie za pomocą interfejsu Chat API.
  • ROLE_NAME: zaktualizowana rola, ROLE_MANAGER;

Interfejs Google Chat API aktualizuje określone członkostwo, przyznając użytkownikowi rolę menedżera pokoju, i zwraca instancję Membership.

Zmienianie roli menedżera pokoju na zwykłego uczestnika

W przykładzie poniżej wywołujemy interfejs Chat API za pomocą uwierzytelniania użytkownika, aby zmienić menedżera pokoju w zwykłego uczestnika pokoju, określając role jako 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);

Aby uruchomić przykład, zastąp te elementy:

  • SPACE_NAME: identyfikator z przestrzeni name. Możesz go uzyskać, wywołując metodę ListSpaces() lub z adresu URL pokoju.
  • MEMBER_NAME: identyfikator z name subskrypcji. Identyfikator możesz uzyskać, wywołując metodę ListMemberships() lub z treści odpowiedzi zwróconej po utworzeniu członkostwa asynchronicznie za pomocą interfejsu Chat API.
  • ROLE_NAME: zaktualizowana rola, ROLE_MEMBER;

Interfejs Google Chat API aktualizuje określone członkostwo, przyznając użytkownikowi rolę menedżera pokoju, i zwraca instancję Membership.

Przypisywanie osobie roli menedżera pokoju za pomocą aplikacji Google Chat

Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.

Napisz skrypt, który wywołuje Chat API

W tym przykładzie wywoływany jest interfejs Chat API z użyciem uwierzytelniania aplikacji, aby zmienić zwykłego członka pokoju w menedżera pokoju przez określenie role jako ROLE_MANAGER w body, który określa zaktualizowane atrybuty członkostwa:

Python

  1. W katalogu roboczym utwórz plik o nazwie chat_membership_update_to_manager_app.py.
  2. Dodaj do pliku chat_membership_update_to_manager_app.py ten kod:

    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()
    
  3. W kodzie zastąp te elementy:

    • SPACE: nazwa pokoju, którą możesz uzyskać za pomocą spaces.listmetody w interfejsie Chat API lub z adresu URL pokoju.

    • MEMBERSHIP: nazwa członkostwa, którą możesz uzyskać za pomocą spaces.members.list metody w interfejsie Chat API.

  4. W katalogu roboczym skompiluj i uruchom przykład:

    python3 chat_membership_update_to_manager_app.py

Zmienianie roli menedżera pokoju na zwykłego uczestnika za pomocą aplikacji Google Chat

Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.

Napisz skrypt, który wywołuje Chat API

Poniższy przykład wywołuje interfejs Chat API za pomocą uwierzytelniania aplikacji, aby zmienić menedżera pokoju w zwykłego członka pokoju, określając role jako ROLE_MEMBER w body, który określa zaktualizowane atrybuty członkostwa:

Python

  1. W katalogu roboczym utwórz plik o nazwie chat_membership_update_to_member_app.py.
  2. Dodaj do pliku chat_membership_update_to_member_app.py ten kod:

    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()
    
  3. W kodzie zastąp te elementy:

    • SPACE: nazwa pokoju, którą możesz uzyskać za pomocą spaces.listmetody w interfejsie Chat API lub z adresu URL pokoju.

    • MEMBERSHIP: nazwa członkostwa, którą możesz uzyskać za pomocą spaces.members.list metody w interfejsie Chat API.

  4. W katalogu roboczym skompiluj i uruchom przykład:

    python3 chat_membership_update_to_member_app.py

Aktualizowanie członkostwa jako administrator Google Workspace

Jeśli jesteś administratorem Google Workspace, możesz wywołać metodę update() aby zaktualizować członkostwo w dowolnym pokoju w organizacji Google Workspace.

Aby wywołać tę metodę jako administrator Google Workspace:

  • Wywołaj metodę za pomocą uwierzytelniania użytkownika i określ zakres autoryzacji, który obsługuje wywoływanie metody z użyciem uprawnień administratora.
  • W żądaniu ustaw parametr zapytania useAdminAccess na true.

Więcej informacji i przykłady znajdziesz w artykule Zarządzanie pokojami w Google Chat jako administrator Google Workspace.