Identyfikowanie i określanie użytkowników Google Chat

Na tej stronie wyjaśniamy, jak aplikacje Google Chat i deweloperzy mogą identyfikować i określać użytkowników Google Chat.

Aby wykonać dowolną z tych czynności, aplikacja Google Chat lub deweloper musi określić użytkownika:

Jak Google Chat identyfikuje użytkowników

Interfejs Google Chat API generuje Userzasób dla każdej osoby i aplikacji, która korzysta z Google Chat. Zasób User zawiera te pola:

  • name: nazwa zasobu w formacie users/{user}, gdzie {user} jest unikalnym i stabilnym identyfikatorem. Możesz używać users/app jako aliasu aplikacji do połączeń w Google Chat.
  • displayName: Tylko dane wyjściowe. Wyświetlana nazwa użytkownika.
  • avatarUrl: Tylko dane wyjściowe. Adres URL obrazu awatara użytkownika.
  • email: Tylko dane wyjściowe. Adres e-mail użytkownika.
  • domainId: unikalny identyfikator domeny Google Workspace użytkownika.
  • type: typ użytkownika. Określa, czy użytkownik jest aplikacją do czatu (BOT), czy osobą (HUMAN).
  • isAnonymous: Tylko dane wyjściowe. Gdy true, oznacza to, że użytkownik został usunięty lub jego profil jest niewidoczny.

Szczegóły profilu użytkownika i reguły widoczności

Gdy wywołujesz interfejsy Messages API i Memberships API za pomocą uwierzytelniania użytkownika, interfejs Google Chat API wypełnia zasób User szczegółami profilu. Interfejs API wypełnia pola displayName, email i avatarUrl zarówno w przypadku użytkowników wewnętrznych (w Twojej organizacji Google Workspace), jak i zewnętrznych (w organizacjach zewnętrznych lub na osobistych kontach Google).

Przykłady miejsc, w których interfejs API wypełnia profile użytkowników:

  • sender elementu Message.
  • Użytkownicy w wiadomości annotations, np. użytkownik @mentions.
  • member w ramach zasobu Membership.

Zasady dotyczące prywatności i widoczności

Aby chronić prywatność użytkowników, interfejs Google Chat API stosuje określone reguły widoczności podczas określania, czy wypełnić szczegóły profilu użytkownika:

  • Wypełniony profil: interfejs API wypełnia szczegóły profilu (displayName,email i avatarUrl są obecne, a isAnonymous ma wartość false), jeśli użytkownik zaakceptował zaproszenie do pokoju (jest członkiem pokoju) lub ma wcześniejsze powiązanie (np. historię interakcji w wiadomościach bezpośrednich) z użytkownikiem, który dzwoni.
  • Anonimowy profil: jeśli użytkownik zostanie wspomniany w pokoju, w którym nie jest członkiem i nie ma wcześniejszego powiązania z użytkownikiem wywołującym, jego profil pozostanie anonimowy. W przypadku anonimowego użytkownika wartość isAnonymous to true, a szczegóły takie jak displayName, email i avatarUrl są pomijane. W przypadku żądań do interfejsu API wysyłanych z uwierzytelnianiem aplikacji pole displayName jest zawsze wypełnione.

Poniższy przykład w formacie JSON przedstawia zasób User z wypełnionymi szczegółami profilu zwrócony w odpowiedzi interfejsu API lub zdarzeniu interakcji:

{
  "name": "users/12345678901234567890",
  "displayName": "Sasha",
  "domainId": "123abc",
  "avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
  "email": "sasha@example.com",
  "type": "HUMAN",
  "isAnonymous": false
}

Poniższy przykład JSON przedstawia anonimowe zasoby User, w których szczegóły profilu użytkownika nie są widoczne dla wywołującego:

{
  "name": "users/10987654321098765432",
  "type": "HUMAN",
  "isAnonymous": true
}

Określanie użytkownika w wywołaniu interfejsu Google Chat API

Aby określić użytkownika, użyj tych wartości w przypadku wartości {user}:

  • W przypadku użytkowników w organizacji Google Workspace zastosuj jedną z tych metod:

    • name zasobu User w interfejsie Chat API, np. users/123456789.
    • {person_id} w nazwie Person zasobu w interfejsie People API, gdzie resourceName to people/{person_id} – na przykład users/123456789 w interfejsie Chat API reprezentuje tę samą osobę co people/123456789 w interfejsie People API.
    • Wartość id w przypadku zasobu User w interfejsie Directory API, np. users/123456789 w interfejsie Chat API, reprezentuje tę samą osobę co users/123456789 w interfejsie Directory API.
    • W przypadku żądań API wysyłanych z uwierzytelnianiem użytkownika adres e-mail użytkownika jako alias, np. users/EMAIL_USERNAME@WORKSPACE_DOMAIN.com.
  • W przypadku użytkownika z zewnętrznej organizacji Google Workspace lub użytkownika, który korzysta z konta Google, użyj jednej z tych opcji:

    • Alias e-mail, np. users/EMAIL_USERNAME@WORKSPACE_DOMAIN.com lub users/EMAIL_USERNAME@gmail.com.
    • Kanoniczny name zasobu User (np. users/12345678901234567890) uzyskany z poprzedniego wywołania interfejsu API lub zdarzenia interakcji.

Identyfikowanie użytkownika na podstawie odpowiedzi interfejsu API lub zdarzenia interakcji

Użytkowników zwróconych przez wywołania interfejsu API lub zdarzenia przychodzące możesz identyfikować na kilka sposobów:

Interfejs Google Chat API wypełnia profile użytkowników wewnętrznych i zewnętrznych podczas korzystania z uwierzytelniania użytkowników, więc programiści nie muszą wywoływać interfejsu Directory API, aby rozwiązywać nazwy lub adresy e-mail członków i nadawców wiadomości.