Panduan ini menjelaskan cara menggunakan metode patch
pada resource membership
Google Chat API untuk mengubah atribut tentang keanggotaan, seperti mengubah
dari anggota ruang menjadi pengelola ruang, atau mengubah pengelola ruang menjadi anggota ruang.
Tujuan
Referensi Membership
mewakili apakah pengguna manusia atau aplikasi Google Chat diundang,
bagian dari, atau tidak
ada dalam suatu ruang.
Prasyarat
Python
- Sebuah Business atau Enterprise Akun Google Workspace yang memiliki akses ke Google Chat.
- Menyiapkan lingkungan Anda:
- Buat project Google Cloud.
- Konfigurasi layar izin OAuth.
- Aktifkan dan konfigurasikan Google Chat API dengan nama, ikon, dan deskripsi untuk aplikasi Chat Anda.
- Instal Python Library Klien Google API.
-
Membuat kredensial client ID OAuth untuk aplikasi desktop. Untuk menjalankan
sampel dalam
panduan, simpan kredensial sebagai file JSON bernama
client_secrets.json
ke direktori lokal.
- Pilih cakupan otorisasi yang mendukung autentikasi pengguna.
Node.js
- Sebuah Business atau Enterprise Akun Google Workspace yang memiliki akses ke Google Chat.
- Menyiapkan lingkungan Anda:
- Buat project Google Cloud.
- Konfigurasi layar izin OAuth.
- Aktifkan dan konfigurasikan Google Chat API dengan nama, ikon, dan deskripsi untuk aplikasi Chat Anda.
- Instal Node.js Library Klien Google API.
-
Membuat kredensial client ID OAuth untuk aplikasi desktop. Untuk menjalankan
sampel dalam
panduan, simpan kredensial sebagai file JSON bernama
client_secrets.json
ke direktori lokal.
- Pilih cakupan otorisasi yang mendukung autentikasi pengguna.
Apps Script
- Sebuah Business atau Enterprise Akun Google Workspace yang memiliki akses ke Google Chat.
- Menyiapkan lingkungan Anda:
- Buat project Google Cloud.
- Konfigurasi layar izin OAuth.
- Aktifkan dan konfigurasikan Google Chat API dengan nama, ikon, dan deskripsi untuk aplikasi Chat Anda.
- Membuat project Apps Script mandiri, dan aktifkan Layanan Chat Lanjutan.
- Pilih cakupan otorisasi yang mendukung autentikasi pengguna.
Memperbarui langganan
Untuk memperbarui keanggotaan ruang, teruskan hal berikut dalam permintaan Anda:
- Tentukan cakupan otorisasi
chat.memberships
. - Panggil
Metode
patch
di resourceMembership
, dan meneruskanname
keanggotaan untuk diperbarui, sertaupdateMask
danbody
yang menentukan atribut keanggotaan yang diperbarui. updateMask
menentukan aspek keanggotaan yang akan diperbarui, dan mencakup hal berikut:role
: Peran pengguna dalam ruang Chat, yang menentukan peran yang diizinkan tindakan dalam ruang. Nilai yang dimasukkan adalah:ROLE_MEMBER
: Anggota ruang. Pengguna memiliki izin akses dasar, seperti mengirim pesan ke ruang. Dalam grup 1:1 dan tanpa nama percakapan, semua orang memiliki peran ini.ROLE_MANAGER
: Pengelola ruang. Pengguna memiliki semua izin akses dasar dan izin administratif yang memungkinkan mereka mengelola ruang, seperti menambahkan atau menghapus anggota. Hanya didukung di ruang yangspaceType
-nya adalahSPACE
(ruang bernama).
Menjadikan anggota ruang tetap sebagai pengelola ruang
Contoh berikut menjadikan anggota ruang reguler sebagai pengelola ruang dengan menentukan
role
sebagai ROLE_MANAGER
di body
yang menentukan keanggotaan yang diperbarui
atribut:
Python
- Di direktori kerja, buat file bernama
chat_membership_update.py
. Sertakan kode berikut di
chat_membership_update.py
:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.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.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. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # 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()
Dalam kode, ganti kode berikut:
SPACE
: nama ruang, yang yang dapat diperoleh dari Metodespaces.list
di Chat API, atau dari URL ruang.MEMBERSHIP
: nama keanggotaan, yang yang dapat diperoleh dari Metodespaces.members.list
di Chat API.
Dalam direktori kerja, build dan jalankan contoh:
python3 chat_membership_update.py
Node.js
- Di direktori kerja, buat file bernama
chat_membership_update.js
. Sertakan kode berikut di
chat_membership_update.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Updates a membership in a Chat space to change it from * a space member to a space manager. * @return {!Promise<!Object>} */ async function updateSpace() { /** * Authenticate with Google Workspace * and get user authorization. */ const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); /** * Build a service endpoint for Chat API. */ const chatClient = await chat.chat({version: 'v1', auth: authClient}); /** * Use the service endpoint to call Chat API. */ return await chatClient.spaces.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', requestBody: { role: 'ROLE_MANAGER' } }); } /** * Use the service endpoint to call Chat API. */ updateSpace().then(console.log);
Dalam kode, ganti kode berikut:
SPACE
: nama ruang, yang yang dapat diperoleh dari Metodespaces.list
di Chat API, atau dari URL ruang.MEMBERSHIP
: nama keanggotaan, yang yang dapat diperoleh dari Metodespaces.members.list
di Chat API.
Dalam direktori kerja, build dan jalankan contoh:
python3 chat_membership_update.js
Apps Script
Contoh ini memanggil Chat API menggunakan Layanan Chat Lanjutan.
Tambahkan cakupan otorisasi
chat.memberships
ke Fileappsscript.json
project Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships" ]
Tambahkan fungsi seperti ini ke project Apps Script kode:
/** * Updates a membership from space member to space manager. * @param {string} memberName The resource name of the membership. */ function updateMembershipToSpaceManager(memberName) { try { const body = {'role': 'ROLE_MANAGER'}; Chat.Spaces.Members.patch(memberName, body); } catch (err) { // TODO (developer) - Handle exception console.log('Failed to create message with error %s', err.message); } }
Google Chat API mengubah keanggotaan yang ditentukan menjadi pengelola ruang dan menampilkannya
instance Membership
merinci perubahan tersebut.
Menjadikan pengelola ruang sebagai anggota tetap
Contoh berikut menjadikan pengelola ruang menjadi anggota ruang reguler dengan menentukan
role
sebagai ROLE_MEMBER
di body
yang menentukan keanggotaan yang diperbarui
atribut:
Python
- Di direktori kerja, buat file bernama
chat_membership_update.py
. Sertakan kode berikut di
chat_membership_update.py
:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.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.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. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # 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()
Dalam kode, ganti kode berikut:
SPACE
: nama ruang, yang yang dapat diperoleh dari Metodespaces.list
di Chat API, atau dari URL ruang.MEMBERSHIP
: nama keanggotaan, yang yang dapat diperoleh dari Metodespaces.members.list
di Chat API.
Dalam direktori kerja, build dan jalankan contoh:
python3 chat_membership_update.py
Node.js
- Di direktori kerja, buat file bernama
chat_membership_update.js
. Sertakan kode berikut di
chat_membership_update.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Updates a membership in a Chat space to change it from * a space manager to a space member. * @return {!Promise<!Object>} */ async function updateSpace() { /** * Authenticate with Google Workspace * and get user authorization. */ const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); /** * Build a service endpoint for Chat API. */ const chatClient = await chat.chat({version: 'v1', auth: authClient}); /** * Use the service endpoint to call Chat API. */ return await chatClient.spaces.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', requestBody: { role: 'ROLE_MEMBER' } }); } /** * Use the service endpoint to call Chat API. */ updateSpace().then(console.log);
Dalam kode, ganti kode berikut:
SPACE
: nama ruang, yang yang dapat diperoleh dari Metodespaces.list
di Chat API, atau dari URL ruang.MEMBERSHIP
: nama keanggotaan, yang yang dapat diperoleh dari Metodespaces.members.list
di Chat API.
Dalam direktori kerja, build dan jalankan contoh:
python3 chat_membership_update.js
Apps Script
Contoh ini memanggil Chat API menggunakan Layanan Chat Lanjutan.
Tambahkan cakupan otorisasi
chat.memberships
ke Fileappsscript.json
project Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships" ]
Tambahkan fungsi seperti ini ke project Apps Script kode:
/** * Updates a membership from space manager to space member. * @param {string} memberName The resource name of the membership. */ function updateMembershipToSpaceMember(memberName) { try { const body = {'role': 'ROLE_MEMBER'}; Chat.Spaces.Members.patch(memberName, body); } catch (err) { // TODO (developer) - Handle exception console.log('Failed to create message with error %s', err.message); } }
Google Chat API mengubah keanggotaan yang ditentukan menjadi pengelola ruang dan menampilkannya
instance Membership
merinci perubahan tersebut.
Topik terkait
- Mengundang atau menambahkan pengguna atau aplikasi Google Chat ke ruang.
- Mendapatkan detail tentang keanggotaan pengguna atau aplikasi Chat.
- Mencantumkan anggota dalam ruang.
- Menghapus pengguna atau aplikasi Chat dari ruang.