Menghapus anggota dari ruang

Panduan ini menjelaskan cara menggunakan delete() di resource Membership Google Chat API untuk menghapus anggota dari ruang angkasa, yang juga dikenal sebagai penghapusan keanggotaan. Pengelola ruang tidak dapat dihapus jika karena dia satu-satunya pengelola ruang. Tetapkan pengguna lain sebagai pengelola ruang sebelum menghapus langganan ini.

Jika Anda adalah administrator Google Workspace, Anda dapat menghapus pengguna, Google Grup, atau aplikasi Chat dari ruang mana pun di pengaturan Google Workspace Anda.

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

Prasyarat

Node.js

Menghapus anggota dari ruang sebagai pengguna

Untuk menghapus pengguna, Grup Google, atau aplikasi Chat dari ruang dengan autentikasi pengguna, teruskan hal berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.memberships. Pengguna yang memberikan otorisasi harus memiliki izin untuk menghapus pengguna atau Google Grup dari ruang. Untuk menghapus aplikasi Chat, tentukan cakupan otorisasi chat.memberships.app (aplikasi hanya dapat menghapus keanggotaannya sendiri, bukan keanggotaan aplikasi lain). Sebagai praktik terbaik, pilih cakupan yang paling ketat yang masih memungkinkan aplikasi Anda berfungsi.
  • Panggil metode DeleteMembership().
  • Teruskan name langganan yang akan dihapus. Jika keanggotaannya adalah hanya pengelola ruang di ruang, tetapkan pengguna lain sebagai pengelola ruang sebelum menghapus keanggotaan ini.

Berikut cara menghapus langganan dengan autentikasi pengguna:

Node.js

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

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

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

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME here
    name: 'spaces/SPACE_NAME'
  };

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

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

main().catch(console.error);

Untuk menjalankan contoh ini, ganti hal berikut:

  • SPACE_NAME: ID dari name. Anda bisa mendapatkan ID dengan memanggil metode ListSpaces() atau dari URL ruang.
  • MEMBER_NAME: ID dari name anggota. Anda bisa mendapatkan ID dengan memanggil ListMemberships() .

Jika berhasil, isi respons akan mengembalikan keanggotaan dengan 'state': 'NOT_A_MEMBER', menunjukkan bahwa anggota tidak lagi ada di ruang.

{
    "name": "spaces/SPACE_NAME/members/MEMBER_NAME",
    "state": "NOT_A_MEMBER"
}

Menghapus anggota dari ruang sebagai aplikasi Chat

Autentikasi aplikasi memerlukan persetujuan administrator satu kali.

Untuk menghapus pengguna, Grup Google, atau aplikasi Chat dari ruang dengan autentikasi aplikasi, teruskan hal berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.app.memberships. Menghapus keanggotaan pengelola ruang hanya didukung dalam ruang yang dibuat oleh aplikasi Chat.
  • Panggil metode delete di Resource membership.
  • Teruskan name langganan yang akan dihapus. Jika keanggotaannya adalah hanya pengelola ruang di ruang, tetapkan pengguna lain sebagai pengelola ruang sebelum menghapus keanggotaan ini.

Membuat kunci API

Untuk memanggil metode Developer Preview API, Anda harus menggunakan versi pratinjau developer non-publik dari dokumen penemuan API. Untuk mengautentikasi permintaan, Anda harus meneruskan kunci API.

Untuk membuat Kunci API, buka project Google Cloud aplikasi Anda dan lakukan hal berikut:

  1. Di konsol Google Cloud, buka Menu > APIs & Services > Credentials.

    Buka Kredensial

  2. Klik Create credentials > API key.
  3. Kunci API baru Anda akan ditampilkan.
    • Klik Salin menyalin kunci API untuk digunakan dalam kode aplikasi Anda. Kunci API juga bisa berupa yang ditemukan dalam "API keys" kredensial project Anda.
    • Klik Batasi kunci untuk memperbarui setelan lanjutan dan membatasi penggunaan kunci API Anda. Untuk mengetahui detail selengkapnya, lihat Menerapkan pembatasan kunci API.

Menulis skrip yang memanggil Chat API

Berikut cara menghapus keanggotaan dengan autentikasi aplikasi:

Python

  1. Di direktori kerja, buat file bernama chat_membership_delete_app.py.
  2. Sertakan kode berikut di chat_membership_delete_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 deletes the specified membership.
        '''
    
        # 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().delete(
    
            # The membership to delete.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MEMBER with a membership name.
            # Obtain the membership name from the memberships resource of
            # Chat API. To delete a Chat app's membership, replace MEMBER
            # with app; an alias for the app calling the API.
            name='spaces/SPACE/members/MEMBER'
    
        ).execute()
    
        # Print Chat API's response in your command line interface.
        # When deleting a membership, the response body is empty.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Dalam kode, ganti kode berikut:

    • API_KEY: kunci API yang Anda buat untuk membangun endpoint layanan untuk Chat API.

    • SPACE: nama ruang, yang dapat Anda peroleh dari metode spaces.list di Chat API, atau dari URL ruang.

    • MEMBER: nama langganan, yang dapat Anda dapatkan dari metode spaces.members.list di Chat API. Untuk menghapus langganan aplikasi, ganti MEMBER dengan app.

  4. Dalam direktori kerja, build dan jalankan contoh:

    python3 chat_membership_delete_app.py

Jika berhasil, isi respons akan mengembalikan keanggotaan dengan 'state': 'NOT_A_MEMBER', menunjukkan bahwa anggota tidak lagi ada di ruang.

{
    "name": "spaces/SPACE/members/MEMBER",
    "state": "NOT_A_MEMBER"
}

Batasan dan pertimbangan

  • Dengan autentikasi aplikasi, aplikasi Chat dapat menghapus pengguna, tetapi tidak dapat menghapus Google Grup.

Menghapus pengguna atau Google Grup dari ruang sebagai administrator Google Workspace

Jika Anda adalah administrator Google Workspace, Anda dapat memanggil metode DeleteMembership() untuk menghapus pengguna, Google Grup, atau aplikasi Chat dari 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 pemanggilan metode dengan hak istimewa administrator.
  • Dalam permintaan, tentukan parameter kueri useAdminAccess ke true.

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