Halaman ini menjelaskan cara aplikasi dan developer Google Chat dapat mengidentifikasi dan menentukan pengguna Chat.
Untuk melakukan salah satu tindakan berikut, aplikasi Chat atau developer harus menentukan pengguna:
- Buat pesan yang @ menyebut pengguna.
- Mengundang atau menambahkan pengguna ke ruang yang ada, atau menambahkan pengguna ke ruang baru.
- Menemukan pesan langsung antara aplikasi Chat dan pengguna tertentu, atau antara dua pengguna.
- Mendapatkan detail keanggotaan pengguna dalam ruang.
- Kirim pesan pribadi kepada pengguna.
- Berlangganan pengguna menggunakan Google Workspace Events API untuk mendapatkan peristiwa tentang perubahan keanggotaan mereka.
Cara Chat mengidentifikasi pengguna
Google Chat API menghasilkan
resource User
untuk setiap orang dan aplikasi yang menggunakan Chat. Resource User
berisi kolom berikut:
name: Nama resource, diformat sebagaiusers/{user}, dengan{user}mewakili ID yang unik dan stabil. Anda dapat menggunakanusers/appsebagai alias untuk aplikasi Chat yang memanggil.displayName: Hanya output. Nama tampilan pengguna.avatarUrl: Hanya output. URL gambar avatar pengguna.email: Hanya output. Alamat email pengguna.domainId: ID unik domain Google Workspace pengguna.type: Jenis pengguna. Ini menunjukkan apakah pengguna adalah Aplikasi Chat (BOT) atau orang (HUMAN).isAnonymous: Hanya output. Jikatrue, menunjukkan bahwa pengguna dihapus atau profilnya tidak terlihat.
Detail profil pengguna dan aturan visibilitas
Saat memanggil Messages dan Memberships API menggunakan
autentikasi pengguna,
Google Chat API akan mengisi resource User dengan detail profil.
API ini mengisi displayName, email, dan avatarUrl untuk pengguna internal (di organisasi Google Workspace Anda) dan pengguna eksternal (di organisasi eksternal atau Akun Google pribadi).
Contoh tempat API mengisi profil pengguna mencakup lokasi berikut:
senderdariMessage.- Pengguna dalam pesan
annotations, seperti user@mentions. memberdalamMembershipresource.
Aturan privasi dan visibilitas
Untuk melindungi privasi pengguna, Google Chat API menerapkan aturan visibilitas tertentu saat menentukan apakah akan mengisi detail profil pengguna:
- Profil yang diisi: API mengisi detail profil (
displayName,email, danavatarUrlada, danisAnonymousadalahfalse) jika pengguna telah menerima undangan ruang (adalah anggota ruang) atau memiliki afinitas sebelumnya (seperti histori interaksi pesan langsung) dengan pengguna yang memanggil. - Profil anonim: Jika pengguna disebutkan dalam ruang tanpa menjadi anggota dan tanpa afinitas sebelumnya dengan pengguna yang memanggil, profilnya akan tetap anonim. Untuk pengguna anonim,
isAnonymousadalahtrue, dan detail sepertidisplayName,email, danavatarUrltidak disertakan. Namun, untuk permintaan API yang dibuat dengan autentikasi aplikasi, kolomdisplayNameselalu diisi.
Contoh JSON berikut menunjukkan resource User dengan detail profil yang diisi dan ditampilkan dalam respons API atau peristiwa interaksi:
{
"name": "users/12345678901234567890",
"displayName": "Sasha",
"domainId": "123abc",
"avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
"email": "sasha@example.com",
"type": "HUMAN",
"isAnonymous": false
}
Contoh JSON berikut menunjukkan resource User anonim yang detail profil penggunanya tidak terlihat oleh pemanggil:
{
"name": "users/10987654321098765432",
"type": "HUMAN",
"isAnonymous": true
}
Menentukan pengguna dalam panggilan ke Google Chat API
Untuk menentukan pengguna, gunakan nilai berikut untuk nilai {user}:
Untuk pengguna di organisasi Google Workspace Anda, gunakan salah satu pendekatan berikut:
namedari resourceUserdi Chat API, sepertiusers/123456789.{person_id}untuk nama resourcePersondi People API, denganresourceNameadalahpeople/{person_id}—misalnya,users/123456789di Chat API mewakili orang yang sama denganpeople/123456789di People API.iduntuk resourceUserdi Directory API—misalnya,users/123456789di Chat API mewakili orang yang sama denganusers/123456789di Directory API.- Untuk permintaan API yang dibuat dengan
autentikasi pengguna,
alamat email pengguna sebagai alias—misalnya,
users/EMAIL_USERNAME@WORKSPACE_DOMAIN.com.
Untuk pengguna di organisasi Google Workspace eksternal, atau pengguna yang menggunakan Akun Google, gunakan salah satu opsi berikut:
- Alias email—misalnya,
users/EMAIL_USERNAME@WORKSPACE_DOMAIN.comatauusers/EMAIL_USERNAME@gmail.com. namekanonis dari resourceUser(sepertiusers/12345678901234567890) yang diperoleh dari panggilan API atau peristiwa interaksi sebelumnya.
- Alias email—misalnya,
Mengidentifikasi pengguna dari respons API atau peristiwa interaksi
Anda dapat mengidentifikasi pengguna yang kembali dari panggilan API atau peristiwa masuk dengan beberapa cara:
- Messages API: Dapatkan identitas pengirim dari
Message.senderatau pengguna yang disebutkan dariMessage.annotations[].userMention.user. - Memberships API: Dapatkan identitas anggota dari
Membership.member. - Peristiwa interaksi: Saat pengguna berinteraksi dengan
aplikasi Chat, Chat akan mengirimkan
peristiwa interaksi dengan
identitas pengguna di
Event.user.
Karena Google Chat API mengisi profil untuk pengguna internal dan eksternal saat menggunakan autentikasi pengguna, developer tidak perlu memanggil Directory API untuk menyelesaikan nama atau email anggota dan pengirim pesan.
Topik terkait
- Mengautentikasi dan memberi otorisasi sebagai pengguna Google Chat.
- Menambahkan pengguna ke ruang.
- Mengelola anggota dalam ruang.
- Menyebut pengguna dalam pesan.
- Referensi REST API resource
User.