Panduan ini menjelaskan cara menggunakan resource list
pada resource Space
Google Chat API untuk membuat daftar ruang. Ruang listingan menampilkan halaman yang diberi nomor halaman dan dapat difilter
daftar spasi.
Tujuan
Referensi Space
mewakili tempat pengguna dan aplikasi Chat dapat mengirim pesan,
berbagi file, dan berkolaborasi. Ada beberapa jenis ruang:
- Pesan langsung (DM) adalah percakapan antara dua pengguna atau pengguna dan aplikasi Chat.
- {i>Chat<i} grup adalah percakapan antara tiga pengguna atau lebih dan Aplikasi Chat.
- Ruang bernama adalah tempat tetap tempat orang mengirim pesan, berbagi file, dan berkolaborasi.
Mencantumkan ruang dengan autentikasi aplikasi mencantumkan ruang yang dapat diakses aplikasi Chat. Listingan ruang dengan Autentikasi pengguna mencantumkan ruang yang dapat diakses oleh pengguna yang diotentikasi.
Prasyarat
Python
- 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.
- Buat kredensial akses berdasarkan cara Anda ingin melakukan autentikasi di Google Chat API
permintaan:
- Untuk melakukan autentikasi sebagai pengguna Chat,
buat client ID OAuth
kredensial, lalu simpan kredensial sebagai file JSON yang bernama
client_secrets.json
ke direktori lokal Anda. - Untuk melakukan autentikasi sebagai aplikasi Chat,
buat akun layanan
kredensial, lalu simpan kredensial sebagai file JSON yang bernama
credentials.json
.
- Untuk melakukan autentikasi sebagai pengguna Chat,
buat client ID OAuth
kredensial, lalu simpan kredensial sebagai file JSON yang bernama
- Pilih cakupan otorisasi berdasarkan apakah Anda ingin melakukan autentikasi sebagai pengguna atau Aplikasi Chat.
Node.js
- 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.
- Buat kredensial akses berdasarkan cara Anda ingin melakukan autentikasi di Google Chat API
permintaan:
- Untuk melakukan autentikasi sebagai pengguna Chat,
buat client ID OAuth
kredensial, lalu simpan kredensial sebagai file JSON yang bernama
client_secrets.json
ke direktori lokal Anda. - Untuk melakukan autentikasi sebagai aplikasi Chat,
buat akun layanan
kredensial, lalu simpan kredensial sebagai file JSON yang bernama
credentials.json
.
- Untuk melakukan autentikasi sebagai pengguna Chat,
buat client ID OAuth
kredensial, lalu simpan kredensial sebagai file JSON yang bernama
- Pilih cakupan otorisasi berdasarkan apakah Anda ingin melakukan autentikasi sebagai pengguna atau Aplikasi Chat.
Mencantumkan ruang dengan autentikasi pengguna
Untuk menampilkan daftar ruang di Google Chat, teruskan kode berikut dalam permintaan:
- Dengan
autentikasi pengguna,
tentukan cakupan otorisasi
chat.spaces.readonly
atauchat.spaces
. - Panggil
Metode
list
di ResourceSpace
.
Contoh berikut mencantumkan ruang dan chat grup yang bernama (tetapi tidak secara langsung pesan, yang akan difilter) yang terlihat oleh pengguna terautentikasi:
Python
- Di direktori kerja, buat file bernama
chat_space_list.py
. Sertakan kode berikut di
chat_space_list.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.spaces.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists named spaces and group chats (but not direct messages) visible to the authenticated user. ''' # 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().list( # An optional filter that returns named spaces or unnamed group chats, # but not direct messages (DMs). filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' ).execute() # Prints the returned list of spaces. print(result) if __name__ == '__main__': main()
Dalam direktori kerja, build dan jalankan contoh:
python3 chat_space_list.py
Node.js
- Di direktori kerja, buat file bernama
list-spaces.js
. Sertakan kode berikut di
list-spaces.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * List Chat spaces. * @return {!Promise<!Object>} */ async function listSpaces() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.readonly', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.list({ filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' }); } listSpaces().then(console.log);
Dalam direktori kerja Anda, jalankan contoh:
node list-spaces.js
Chat API menampilkan array berpaginasi dari ruang dan chat grup.
Mencantumkan ruang dengan autentikasi aplikasi
Untuk menampilkan daftar ruang di Google Chat, teruskan kode berikut dalam permintaan:
- Dengan
autentikasi aplikasi,
tentukan cakupan otorisasi
chat.bot
. - Panggil
Metode
list
di ResourceSpace
.
Contoh berikut mencantumkan ruang dan chat grup yang bernama (tetapi tidak secara langsung ) yang terlihat oleh aplikasi Chat:
Python
- Di direktori kerja, buat file bernama
chat_space_list_app.py
. Sertakan kode berikut di
chat_space_list_app.py
:from google.oauth2 import service_account from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Use the service endpoint to call Chat API. result = chat.spaces().list( # An optional filter that returns named spaces or unnamed # group chats, but not direct messages (DMs). filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' ).execute() print(result)
Dalam direktori kerja, build dan jalankan contoh:
python3 chat_space_list_app.py
Node.js
- Di direktori kerja, buat file bernama
app-list-spaces.js
. Sertakan kode berikut di
app-list-spaces.js
:const chat = require('@googleapis/chat'); /** * List Chat spaces. * @return {!Promise<!Object>} */ async function listSpaces() { const scopes = [ 'https://www.googleapis.com/auth/chat.bot', ]; const auth = new chat.auth.GoogleAuth({ scopes, keyFilename: 'credentials.json', }); const authClient = await auth.getClient(); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.list({ filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' }); } listSpaces().then(console.log);
Dalam direktori kerja Anda, jalankan contoh:
node app-list-spaces.js
Chat API menampilkan array ruang yang diberi nomor halaman.
Menyesuaikan penomoran halaman atau memfilter daftar
Untuk mencantumkan ruang di Google Chat, teruskan kolom opsional berikut parameter kueri untuk menyesuaikan penomoran halaman atau memfilter ruang yang tercantum:
pageSize
: Jumlah maksimum spasi yang akan ditampilkan. Layanan mungkin kembali kurang dari nilai ini. Jika tidak ditentukan, maksimal 100 spasi akan ditampilkan. Tujuan nilai maksimumnya adalah 1.000; nilai di atas 1.000 secara otomatis diubah menjadi 1.000.pageToken
: Token halaman, yang diterima dari panggilan ruang daftar sebelumnya. Berikan token ini untuk mengambil halaman selanjutnya. Ketika melakukan penomoran halaman, nilai filter harus cocok dengan panggilan yang memberikan token halaman. Meneruskan nilai yang berbeda dapat menyebabkan hasil yang tidak terduga.filter
: Filter kueri. Untuk mengetahui detail kueri yang didukung, lihat Metodespaces.list
.
Topik terkait
- Membuat ruang.
- Menyiapkan ruang.
- Mendapatkan detail tentang ruang.
- Memperbarui ruang.
- Menghapus ruang.
- Menemukan ruang pesan langsung.