Mengidentifikasi dan menentukan pengguna Google Chat

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:

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 sebagai users/{user}, dengan {user} mewakili ID yang unik dan stabil. Anda dapat menggunakan users/app sebagai 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. Jika true, 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:

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, dan avatarUrl ada, dan isAnonymous adalah false) 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, isAnonymous adalah true, dan detail seperti displayName, email, dan avatarUrl tidak disertakan. Namun, untuk permintaan API yang dibuat dengan autentikasi aplikasi, kolom displayName selalu 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:

    • name dari resource User di Chat API, seperti users/123456789.
    • {person_id} untuk nama resource Person di People API, dengan resourceName adalah people/{person_id}—misalnya, users/123456789 di Chat API mewakili orang yang sama dengan people/123456789 di People API.
    • id untuk resource User di Directory API—misalnya, users/123456789 di Chat API mewakili orang yang sama dengan users/123456789 di 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.com atau users/EMAIL_USERNAME@gmail.com.
    • name kanonis dari resource User (seperti users/12345678901234567890) yang diperoleh dari panggilan API atau peristiwa interaksi sebelumnya.

Mengidentifikasi pengguna dari respons API atau peristiwa interaksi

Anda dapat mengidentifikasi pengguna yang kembali dari panggilan API atau peristiwa masuk dengan beberapa cara:

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.