Memperbarui keanggotaan pengguna di ruang Google Chat

Panduan ini menjelaskan cara menggunakan metode update() pada resource Membership Google Chat API untuk mengubah atribut tentang keanggotaan, seperti mengubah anggota ruang menjadi pemilik ruang, atau mengubah pemilik ruang menjadi anggota ruang.

Jika Anda adalah administrator Google Workspace, Anda dapat memanggil metode update() untuk memperbarui keanggotaan ruang mana pun di organisasi Google Workspace Anda.

Resource Membership menunjukkan apakah pengguna manusia atau aplikasi Google Chat diundang ke, menjadi bagian dari, atau tidak ada di ruang.

Prasyarat

Node.js

Memperbarui langganan

Untuk memperbarui keanggotaan ruang, teruskan hal berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi:
    • Dengan autentikasi pengguna, tentukan cakupan otorisasi chat.memberships.
    • Dengan autentikasi aplikasi, tentukan cakupan otorisasi chat.app.memberships. Saat memperbarui keanggotaan dengan autentikasi aplikasi, Anda hanya dapat memperbarui keanggotaan di ruang yang dibuat oleh aplikasi Chat. Autentikasi aplikasi memerlukan persetujuan administrator satu kali.
  • Panggil metode UpdateMembership().
  • Teruskan membership sebagai instance Membership dengan:
    • Kolom name ditetapkan ke keanggotaan yang akan diperbarui, yang mencakup ID ruang dan ID anggota.
    • Kolom keanggotaan yang akan diperbarui ditetapkan ke nilai baru.
  • Teruskan updateMask untuk menentukan aspek keanggotaan yang akan diperbarui, yang mencakup hal berikut:
    • role: Peran pengguna dalam ruang Chat, yang menentukan tindakan yang diizinkan di ruang tersebut. Nilai yang mungkin adalah:
      • ROLE_MEMBER: Anggota ruang. Di UI Chat, peran ini disebut Anggota. Pengguna memiliki izin dasar, seperti mengirim pesan ke ruang. Dalam percakapan personal dan grup tanpa nama, semua orang memiliki peran ini.
      • ROLE_MANAGER: Pemilik ruang. Di UI Chat, peran ini disebut Pemilik. Pengguna memiliki semua izin dasar serta izin administratif yang memungkinkan mereka mengelola ruang, seperti menambahkan atau menghapus anggota. Hanya didukung di ruang tempat spaceType adalah SPACE (ruang bernama).

Mengubah anggota menjadi pemilik (autentikasi pengguna)

Contoh berikut memanggil Chat API menggunakan autentikasi pengguna untuk menjadikan anggota ruang biasa sebagai pemilik ruang dengan menentukan role sebagai 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();

Untuk menjalankan contoh, ganti berikut ini:

  • SPACE_NAME: ID dari name ruang. Anda bisa mendapatkan ID dengan memanggil metode ListSpaces() atau dari URL ruang.
  • MEMBER_NAME: ID dari name keanggotaan. Anda dapat memperoleh ID dengan memanggil metode ListMemberships(), atau dari isi respons yang ditampilkan setelah membuat keanggotaan secara asinkron dengan Chat API.
  • ROLE_NAME: peran yang diperbarui, ROLE_MANAGER.

Google Chat API memperbarui keanggotaan yang ditentukan menjadi pemilik ruang dan menampilkan instance Membership.

Mengubah pemilik menjadi anggota (autentikasi pengguna)

Contoh berikut memanggil Chat API menggunakan autentikasi pengguna untuk menjadikan pemilik ruang sebagai anggota ruang biasa dengan menentukan role sebagai 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();

Untuk menjalankan contoh, ganti berikut ini:

  • SPACE_NAME: ID dari name ruang. Anda bisa mendapatkan ID dengan memanggil metode ListSpaces() atau dari URL ruang.
  • MEMBER_NAME: ID dari name keanggotaan. Anda dapat memperoleh ID dengan memanggil metode ListMemberships(), atau dari isi respons yang ditampilkan setelah membuat keanggotaan secara asinkron dengan Chat API.
  • ROLE_NAME: peran yang diperbarui, ROLE_MEMBER.

Google Chat API memperbarui keanggotaan yang ditentukan menjadi pemilik ruang dan menampilkan instance Membership.

Mengubah anggota menjadi pemilik (Autentikasi aplikasi Chat)

Autentikasi aplikasi memerlukan persetujuan administrator satu kali.

Menulis skrip yang memanggil Chat API

Contoh berikut memanggil Chat API menggunakan autentikasi aplikasi untuk menjadikan anggota ruang biasa sebagai pemilik ruang dengan menentukan role sebagai ROLE_MANAGER di body yang menentukan atribut keanggotaan yang diperbarui:

Python

  1. Di direktori kerja Anda, buat file bernama chat_membership_update_to_owner_app.py.
  2. Sertakan kode berikut di chat_membership_update_to_owner_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 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',
            body={'role': 'ROLE_MANAGER'}
    
          ).execute()
    
        # Prints details about the updated membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Dalam kode, ganti kode berikut:

  4. Di direktori kerja Anda, buat dan jalankan sampel:

    python3 chat_membership_update_to_owner_app.py

Mengubah pemilik menjadi anggota (Autentikasi aplikasi Chat)

Autentikasi aplikasi memerlukan persetujuan administrator satu kali.

Menulis skrip yang memanggil Chat API

Contoh berikut memanggil Chat API menggunakan autentikasi aplikasi untuk menjadikan pemilik ruang sebagai anggota ruang biasa dengan menentukan role sebagai ROLE_MEMBER dalam body yang menentukan atribut keanggotaan yang diperbarui:

Python

  1. Di direktori kerja Anda, buat file bernama chat_membership_update_to_member_app.py.
  2. Sertakan kode berikut di 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 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. Dalam kode, ganti kode berikut:

  4. Di direktori kerja Anda, buat dan jalankan sampel:

    python3 chat_membership_update_to_member_app.py

Memperbarui keanggotaan sebagai administrator Google Workspace

Jika Anda adalah administrator Google Workspace, Anda dapat memanggil metode update() untuk memperbarui keanggotaan ruang mana pun di organisasi Google Workspace Anda.

Untuk memanggil metode ini sebagai administrator Google Workspace, lakukan hal berikut:

  • Panggil metode menggunakan autentikasi pengguna, dan tentukan cakupan otorisasi yang mendukung panggilan metode menggunakan hak istimewa administrator.
  • Dalam permintaan Anda, tentukan parameter kueri useAdminAccess ke true.

Untuk mengetahui informasi dan contoh selengkapnya, lihat Mengelola ruang Google Chat sebagai administrator Google Workspace.