Panduan ini menjelaskan cara menggunakan metode findDirectMessage
pada Space
referensi Google Chat API untuk mendapatkan detail tentang ruang pesan langsung (DM).
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.
Mengautentikasi dengan autentikasi aplikasi memungkinkan aplikasi Chat mendapatkan DM yang Akses ke aplikasi Chat di Google Chat (misalnya, DM tempat Anda menjadi anggota). Mengautentikasi dengan autentikasi pengguna akan menampilkan DM yang 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.
Menemukan pesan langsung
Untuk menemukan pesan langsung di Google Chat, teruskan hal berikut di permintaan Anda:
- Dengan app authentication, tentukan
Cakupan otorisasi
chat.bot
. Dengan autentikasi pengguna, tentukan cakupan otorisasichat.spaces.readonly
atauchat.spaces
. - Panggil
Metode
findDirectMessage
di resourceUser
, dengan meneruskanname
pengguna lain di DM untuk kembali. Dengan autentikasi pengguna, metode ini akan menampilkan DM antara pengguna yang memanggil dan pengguna yang ditentukan. Dengan app authentication, metode ini menampilkan DM antara aplikasi pemanggil dan pengguna yang ditentukan. - Untuk menambahkan pengguna manusia sebagai anggota ruang, tentukan
users/{user}
, dengan{user}
adalah{person_id}
untukperson
dari People API, atau IDuser
di Directory API. Misalnya, jika personel People APIresourceName
adalahpeople/123456789
, Anda dapat menambahkan pengguna ke ruang dengan menyertakan denganusers/123456789
sebagaimember.name
.
Menemukan pesan langsung dengan autentikasi pengguna
Berikut cara menemukan pesan langsung dengan autentikasi pengguna:
Python
- Di direktori kerja, buat file bernama
chat_space_find_dm_user.py
. Sertakan kode berikut di
chat_space_find_dm_user.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 returns details about a specified DM. ''' # 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().findDirectMessage( # The other user in the direct message (DM) to return. # # Replace USER with a user name. name='users/USER' ).execute() # Prints details about the direct message. print(result) if __name__ == '__main__': main()
Dalam kode, ganti
USER
denganname
User
di Google Chat.Dalam direktori kerja, build dan jalankan contoh:
python3 chat_space_find_dm_user.py
Node.js
Di direktori kerja, buat file bernama
find-direct-message-space.js
.Sertakan kode berikut di
find-direct-message-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Find a direct message Chat space for a user. * @return {!Promise<!Object>} */ async function findDirectMessageSpace() { 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.findDirectMessage( {name: 'users/USER'}); } findDirectMessageSpace().then(console.log);
Dalam kode, ganti
USER
denganname
User
di Google Chat.Dalam direktori kerja Anda, jalankan contoh:
node find-direct-message-space.js
Chat API menampilkan instance
Space
yang menjelaskan DM tertentu.
Menemukan pesan langsung dengan autentikasi aplikasi
Berikut cara menemukan pesan langsung dengan autentikasi aplikasi:
Python
- Di direktori kerja, buat file bernama
chat_space_find_dm_app.py
. Sertakan kode berikut di
chat_space_find_dm_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().findDirectMessage( # The other user in the direct message (DM) to return. # # Replace USER with a user name. name='users/USER' ).execute() print(result)
Dalam kode, ganti
USER
denganname
User
di Google Chat.Dalam direktori kerja, build dan jalankan contoh:
python3 chat_space_find_dm_app.py
Node.js
Di direktori kerja, buat file bernama
app-find-direct-message-space.js
.Sertakan kode berikut di
app-find-direct-message-space.js
:const chat = require('@googleapis/chat'); /** * Find a direct message Chat space for a user. * @return {!Promise<!Object>} */ async function findDirectMessageSpace() { 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.findDirectMessage( {name: 'users/USER'}); } findDirectMessageSpace().then(console.log);
Dalam kode, ganti
USER
denganname
User
di Google Chat.Dalam direktori kerja Anda, jalankan contoh:
node app-find-direct-message-space.js
Chat API menampilkan instance
Space
yang menjelaskan DM yang ditentukan.
Topik terkait
- Membuat ruang.
- Menyiapkan ruang.
- Mendapatkan detail tentang ruang.
- Mencantumkan ruang.
- Memperbarui ruang.
- Menghapus ruang.