Aktualizowanie subskrypcji użytkownika w pokoju Google Chat

Ten przewodnik wyjaśnia, jak używać metody update() w zasobie Membership interfejsu Google Chat API do zmiany atrybutów członkostwa, np. zmiany osoby w pokoju na menedżera pokoju lub właściciela pokoju.

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

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

Wymagania wstępne

Node.js

Aktualizowanie członkostwa

Aby zaktualizować członkostwo w pokoju, w żądaniu podaj te informacje:

  • Określ zakres autoryzacji:
  • Wywołaj UpdateMembership() metodę.
  • Przekaż membership jako instancję Membership z tymi informacjami:
    • Pole name ustawione na członkostwo do zaktualizowania, które zawiera identyfikator pokoju i identyfikator uczestnika.
    • Pola członkostwa do zaktualizowania ustawione na nowe wartości.
  • Przekaż updateMask, aby określić aspekty członkostwa do zaktualizowania. Obejmuje ono te informacje:
    • role: rola użytkownika w pokoju czatu, która określa dozwolone działania w pokoju. Szczegółowe wyjaśnienia uprawnień znajdziesz w MembershipRole w dokumentacji interfejsu Chat API. Możliwe wartości:
      • ROLE_MEMBER: osoba w pokoju. W interfejsie Google Chat ta rola nosi nazwę Osoba w pokoju.
      • ROLE_ASSISTANT_MANAGER: menedżer pokoju. W interfejsie Google Chat ta rola nosi nazwę Menedżer.
      • ROLE_MANAGER: właściciel pokoju. W interfejsie Google Chat ta rola nosi nazwę Właściciel.

Zmienianie osoby w pokoju na właściciela (uwierzytelnianie użytkownika)

Ten przykład wywołuje interfejs Chat API za pomocą uwierzytelniania użytkownika aby zmienić zwykłą osobę w pokoju na właściciela pokoju, określając 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);
}

await main();

Aby uruchomić próbkę, zastąp te elementy:

  • SPACE_NAME: identyfikator z pola name. Identyfikator możesz uzyskać, wywołując ListSpaces() metodę lub z adresu URL pokoju.
  • MEMBER_NAME: identyfikator z pola członkostwa name. Identyfikator możesz uzyskać, wywołując ListMemberships() metodę lub z treści odpowiedzi zwróconej po asynchronicznym utworzeniu członkostwa za pomocą interfejsu Chat API.
  • ROLE_NAME: zaktualizowana rola, ROLE_MANAGER. Możesz ustawić tę wartość na dowolną wartość MembershipRole. Aby na przykład zmienić zwykłą osobę w pokoju na menedżera pokoju, zmień ROLE_NAME na ROLE_ASSISTANT_MANAGER.

Interfejs Google Chat API aktualizuje określone członkostwo na właściciela pokoju i zwraca instancję Membership.

Zmienianie właściciela na osobę w pokoju (uwierzytelnianie użytkownika)

Ten przykład wywołuje interfejs Chat API za pomocą uwierzytelniania użytkownika aby zmienić właściciela pokoju na zwykłą osobę w 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);
}

await main();

Aby uruchomić próbkę, zastąp te elementy:

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

Interfejs Google Chat API aktualizuje określone członkostwo na właściciela pokoju i zwraca instancję Membership.

Zmienianie osoby w pokoju na właściciela (uwierzytelnianie aplikacji do obsługi czatu)

Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.

Napisz skrypt, który wywołuje interfejs Chat API

Ten przykład wywołuje interfejs Chat API za pomocą uwierzytelniania aplikacji aby zmienić zwykłą osobę w pokoju na właściciela pokoju, określając role jako ROLE_MANAGER w body, które określa zaktualizowane atrybuty członkostwa:

Python

  1. W katalogu roboczym utwórz plik o nazwie chat_membership_update_to_owner_app.py.
  2. W pliku chat_membership_update_to_owner_app.py umieść 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 owner.
        '''
    
        # 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',
    
            # Replace ROLE with a MembershipRole value.
            # Obtain the MembershipRole values from the membership of Chat API.
            body={'role': 'ROLE'}
    
          ).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ą metody spaces.list 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.

    • ROLE: zaktualizowana rola, ROLE_MANAGER. Możesz ustawić tę wartość na dowolną wartość MembershipRole. Aby na przykład zmienić zwykłą osobę w pokoju na menedżera pokoju, zmień ROLE na ROLE_ASSISTANT_MANAGER.

  4. W katalogu roboczym skompiluj i uruchom próbkę:

    python3 chat_membership_update_to_owner_app.py

Zmienianie właściciela na osobę w pokoju (uwierzytelnianie aplikacji do obsługi czatu)

Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.

Napisz skrypt, który wywołuje interfejs Chat API

Ten przykład wywołuje interfejs Chat API za pomocą uwierzytelniania aplikacji aby zmienić właściciela pokoju na zwykłą osobę w pokoju, określając role jako ROLE_MEMBER w body, które określa zaktualizowane atrybuty członkostwa:

Python

  1. W katalogu roboczym utwórz plik o nazwie chat_membership_update_to_member_app.py.
  2. W pliku chat_membership_update_to_member_app.py umieść 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 owner to change
        it to a regular member.
        '''
    
        # 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ą metody spaces.list 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 próbkę:

    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:

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