Panduan ini menjelaskan cara menggunakan metode findDirectMessage
pada resource Space
Google Chat API untuk mendapatkan detail tentang ruang pesan langsung (DM).
Resource Space
mewakili 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 sebuah aplikasi Chat.
- Chat grup adalah percakapan antara tiga pengguna atau lebih dan aplikasi Chat.
- Ruang bernama adalah tempat tetap yang digunakan orang untuk mengirim pesan, berbagi file, dan berkolaborasi.
Melakukan autentikasi dengan autentikasi aplikasi memungkinkan aplikasi Chat mendapatkan DM yang dapat diakses oleh aplikasi Chat di Google Chat (misalnya, DM tempat aplikasi Chat tersebut menjadi anggotanya). Melakukan autentikasi dengan autentikasi pengguna akan menampilkan DM yang dapat diakses oleh pengguna terautentikasi.
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-httplib2 google-auth-oauthlib oauth2client
Aplikasi Chat yang dipublikasikan. Untuk membuat dan memublikasikan aplikasi Chat, lihat Mem-build aplikasi Google Chat.
Otorisasi dikonfigurasi untuk aplikasi Chat. Menemukan pesan langsung akan mendukung:
- Autentikasi pengguna
dengan cakupan otorisasi
chat.spaces.readonly
atauchat.spaces
. - Autentikasi aplikasi
dengan cakupan otorisasi
chat.bot
.
- Autentikasi pengguna
dengan cakupan otorisasi
Menemukan pesan langsung
Untuk menemukan pesan langsung di Google Chat, teruskan hal berikut dalam permintaan Anda:
- Dengan autentikasi aplikasi, 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 ditampilkan. Dengan autentikasi pengguna, metode ini akan menampilkan DM antara pengguna yang melakukan panggilan dan pengguna yang ditentukan. Dengan autentikasi aplikasi, metode ini menampilkan DM antara aplikasi panggilan 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 pengguna People APIresourceName
adalahpeople/123456789
, Anda dapat menambahkan pengguna ke ruang dengan menyertakan keanggotaan 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
:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # 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 created membership. print(result) if __name__ == '__main__': main()
Dalam kode, ganti
USER
denganname
dariUser
di Google Chat.Di direktori kerja Anda, build dan jalankan contoh:
python3 chat_space_find_dm_user.py
Chat API menampilkan instance
Space
yang menjelaskan DM yang ditentukan.
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 httplib2 import Http from oauth2client.service_account import ServiceAccountCredentials from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ServiceAccountCredentials.from_json_keyfile_name( 'credentials.json', SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', http=CREDENTIALS.authorize(Http())) # 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
dariUser
di Google Chat.Di direktori kerja Anda, build dan jalankan contoh:
python3 chat_space_find_dm_app.py
Chat API menampilkan instance
Space
yang menjelaskan DM yang ditentukan.
Topik terkait
- Membuat ruang.
- Siapkan ruang.
- Mendapatkan detail tentang ruang.
- Cantumkan ruang.
- Memperbarui ruang.
- Menghapus ruang.