Panduan ini menjelaskan cara menggunakan resource list
pada resource Space
Google Chat API untuk mencantumkan ruang. Ruang listingan akan menampilkan daftar ruang yang dipaginasi dan dapat difilter.
Resource Space
merepresentasikan tempat orang 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.
- Chat 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 akan mencantumkan ruang yang dapat diakses aplikasi Chat. Mencantumkan ruang dengan Autentikasi pengguna akan mencantumkan ruang yang dapat diakses oleh pengguna yang diautentikasi.
Prasyarat
Python
- Python 3.6 atau yang lebih baru
- Alat pengelolaan paket pip
Library klien Google terbaru untuk Python. Untuk menginstal atau mengupdatenya, jalankan perintah berikut di antarmuka command line Anda:
pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
- Project Google Cloud dengan Google Chat API yang diaktifkan dan dikonfigurasi. Untuk mengetahui langkah-langkahnya, lihat Mem-build aplikasi Google Chat.
Otorisasi dikonfigurasi untuk aplikasi Chat. Ruang listingan mendukung kedua metode autentikasi berikut:
- Autentikasi pengguna
dengan cakupan otorisasi
chat.spaces.readonly
atauchat.spaces
. - Autentikasi aplikasi
dengan cakupan otorisasi
chat.bot
.
- Autentikasi pengguna
dengan cakupan otorisasi
Node.js
- Node.js & npm
Library klien Google terbaru untuk Node.js. Untuk menginstalnya, jalankan perintah berikut di antarmuka command line Anda:
npm install @google-cloud/local-auth @googleapis/chat
- Project Google Cloud dengan Google Chat API yang diaktifkan dan dikonfigurasi. Untuk mengetahui langkah-langkahnya, lihat Mem-build aplikasi Google Chat.
Otorisasi dikonfigurasi untuk aplikasi Chat. Ruang listingan mendukung kedua metode autentikasi berikut:
- Autentikasi pengguna
dengan cakupan otorisasi
chat.spaces.readonly
atauchat.spaces
. - Autentikasi aplikasi
dengan cakupan otorisasi
chat.bot
.
- Autentikasi pengguna
dengan cakupan otorisasi
Mencantumkan ruang dengan autentikasi pengguna
Untuk mencantumkan ruang di Google Chat, teruskan kode berikut dalam permintaan Anda:
- Dengan autentikasi pengguna, tentukan cakupan otorisasi
chat.spaces.readonly
atauchat.spaces
. - Panggil
metode
list
di resourceSpace
.
Contoh berikut mencantumkan ruang bernama dan chat grup (tetapi bukan pesan langsung, yang difilter) yang terlihat oleh pengguna yang diautentikasi:
Python
- Di direktori kerja Anda, 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()
Di direktori kerja Anda, buat dan jalankan contoh:
python3 chat_space_list.py
Node.js
- Di direktori kerja Anda, 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);
Di direktori kerja Anda, jalankan contoh:
node list-spaces.js
Chat API menampilkan array berpaginasi untuk ruang bernama dan chat grup.
Mencantumkan ruang dengan autentikasi aplikasi
Untuk mencantumkan ruang di Google Chat, teruskan kode berikut dalam permintaan Anda:
- Dengan autentikasi aplikasi, tentukan cakupan otorisasi
chat.bot
. - Panggil
metode
list
di resourceSpace
.
Contoh berikut mencantumkan ruang bernama dan chat grup (tetapi bukan pesan langsung) yang terlihat oleh aplikasi Chat:
Python
- Di direktori kerja Anda, 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)
Di direktori kerja Anda, buat dan jalankan contoh:
python3 chat_space_list_app.py
Node.js
- Di direktori kerja Anda, 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);
Di direktori kerja Anda, jalankan contoh:
node app-list-spaces.js
Chat API menampilkan array ruang yang dipaginasi.
Menyesuaikan penomoran halaman atau memfilter daftar
Untuk mencantumkan ruang di Google Chat, teruskan parameter kueri opsional berikut untuk menyesuaikan penomoran halaman atau memfilter ruang yang tercantum:
pageSize
: Jumlah spasi maksimum untuk ditampilkan. Layanan mungkin mengembalikan kurang dari nilai ini. Jika tidak ditentukan, maksimal 100 spasi akan ditampilkan. Nilai maksimumnya adalah 1.000; nilai di atas 1.000 akan otomatis diubah menjadi 1.000.pageToken
: Token halaman, diterima dari panggilan ruang daftar sebelumnya. Berikan token ini untuk mengambil halaman berikutnya. Saat melakukan penomoran halaman, nilai filter harus cocok dengan panggilan yang menyediakan token halaman. Meneruskan nilai yang berbeda dapat menyebabkan hasil yang tidak diharapkan.filter
: Filter kueri. Untuk detail kueri yang didukung, lihat metodespaces.list
.
Topik terkait
- Buat ruang.
- Siapkan ruang.
- Mendapatkan detail tentang ruang.
- Memperbarui ruang.
- Menghapus ruang.
- Menemukan ruang pesan langsung.