ระบุตัวผู้ใช้ Google Chat

หน้านี้อธิบายวิธีที่แอปและนักพัฒนาแอป Google Chat สามารถระบุและ ระบุผู้ใช้ Chat

หากต้องการดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้ แอป Chat หรือนักพัฒนาแอป ต้องระบุผู้ใช้

วิธีที่ Chat ระบุผู้ใช้

Google Chat API จะสร้างUserทรัพยากร สำหรับแต่ละบุคคลและแอปที่ใช้ Chat User ทรัพยากร มีช่องต่อไปนี้

  • name: ชื่อทรัพยากรในรูปแบบ users/{user} โดยที่ {user} แสดงถึงตัวระบุที่ไม่ซ้ำกันและเสถียร คุณสามารถใช้ users/app เป็น ชื่อแทนสำหรับแอป Chat ที่โทรได้
  • displayName: เอาต์พุตเท่านั้น ชื่อที่แสดงของผู้ใช้
  • avatarUrl: เอาต์พุตเท่านั้น URL ของรูปโปรไฟล์ผู้ใช้
  • email: เอาต์พุตเท่านั้น อีเมลของผู้ใช้
  • domainId: ตัวระบุที่ไม่ซ้ำกันของโดเมน Google Workspace ของผู้ใช้
  • type: ประเภทผู้ใช้ ระบุว่าผู้ใช้เป็นแอปแชท (BOT) หรือบุคคล (HUMAN)
  • isAnonymous: เอาต์พุตเท่านั้น เมื่อ true แสดงว่าระบบลบผู้ใช้แล้ว หรือผู้ใช้มองไม่เห็นโปรไฟล์

รายละเอียดโปรไฟล์ผู้ใช้และกฎการมองเห็น

เมื่อเรียกใช้ Messages และ Memberships API โดยใช้การตรวจสอบสิทธิ์ผู้ใช้ Google Chat API จะป้อนข้อมูลรายละเอียดโปรไฟล์ลงในทรัพยากร User API จะป้อนข้อมูล displayName, email และ avatarUrl สำหรับทั้งผู้ใช้ภายใน (ในองค์กร Google Workspace ของคุณ) และผู้ใช้ภายนอก (ในองค์กรภายนอก หรือบัญชี Google ส่วนตัว)

ตัวอย่างตำแหน่งที่ API จะป้อนข้อมูลโปรไฟล์ผู้ใช้มีดังนี้

  • sender ของ Message
  • ผู้ใช้ภายในข้อความ annotations เช่น user @mentions
  • member ภายใน Membership ทรัพยากร

กฎความเป็นส่วนตัวและการมองเห็น

Google Chat API จะใช้กฎการมองเห็นที่เฉพาะเจาะจงเมื่อพิจารณาว่าจะป้อนรายละเอียดโปรไฟล์ของผู้ใช้หรือไม่ เพื่อปกป้องความเป็นส่วนตัวของผู้ใช้

  • โปรไฟล์ที่มีข้อมูล: API จะแสดงรายละเอียดโปรไฟล์ (displayName, email และ avatarUrl อยู่ และ isAnonymous เป็น false) หากผู้ใช้ยอมรับคำเชิญเข้าร่วมพื้นที่ (เป็นสมาชิกของพื้นที่) หรือมีความเกี่ยวข้องก่อนหน้านี้ (เช่น ประวัติการโต้ตอบข้อความส่วนตัว) กับผู้ใช้ที่เรียก
  • โปรไฟล์ที่ไม่ระบุชื่อ: หากมีการกล่าวถึงผู้ใช้ในพื้นที่ทำงานโดยที่ผู้ใช้ไม่ได้เป็นสมาชิกและไม่มีความสัมพันธ์กับผู้ใช้ที่เรียกใช้ก่อนหน้านี้ โปรไฟล์ของผู้ใช้จะยังคงไม่ระบุชื่อ สำหรับผู้ใช้ที่ไม่ระบุตัวตน isAnonymous คือ true และ ระบบจะละเว้นรายละเอียด เช่น displayName, email และ avatarUrl อย่างไรก็ตาม สำหรับคำขอ API ที่ทำด้วยการตรวจสอบสิทธิ์แอป ฟิลด์ displayName จะป้อนข้อมูลเสมอ

ตัวอย่าง JSON ต่อไปนี้แสดงทรัพยากร User ที่มีรายละเอียดโปรไฟล์ ที่สร้างขึ้นซึ่งแสดงในการตอบกลับ API หรือเหตุการณ์การโต้ตอบ

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

ตัวอย่าง JSON ต่อไปนี้แสดงทรัพยากร User แบบไม่ระบุตัวตนซึ่งผู้โทรไม่เห็นรายละเอียดโปรไฟล์ผู้ใช้

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

ระบุผู้ใช้ในการเรียกไปยัง Google Chat API

หากต้องการระบุผู้ใช้ ให้ใช้ค่าต่อไปนี้สำหรับค่า {user}

  • สำหรับผู้ใช้ในองค์กร Google Workspace ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

    • name ของ Userทรัพยากร ใน Chat API เช่น users/123456789
    • {person_id} สำหรับชื่อของPersonแหล่งข้อมูลใน People API โดยที่ resourceName คือ people/{person_id} เช่น users/123456789 ใน Chat API แสดงถึงบุคคลเดียวกัน กับ people/123456789 ใน People API
    • idสำหรับทรัพยากร User ใน Directory API เช่น users/123456789 ใน Chat API แสดงถึงบุคคลเดียวกัน กับ users/123456789 ใน Directory API
    • สำหรับคำขอ API ที่ทำด้วย การตรวจสอบสิทธิ์ผู้ใช้ อีเมลของผู้ใช้เป็นชื่อแทน เช่น users/EMAIL_USERNAME@WORKSPACE_DOMAIN.com
  • สำหรับผู้ใช้ในองค์กร Google Workspace ภายนอก หรือผู้ใช้ที่ใช้บัญชี Google ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

    • ชื่อแทนอีเมล เช่น users/EMAIL_USERNAME@WORKSPACE_DOMAIN.com หรือ users/EMAIL_USERNAME@gmail.com
    • name ที่แน่นอนของทรัพยากร User (เช่น users/12345678901234567890) ที่ได้จากการเรียก API ก่อนหน้าหรือ เหตุการณ์การโต้ตอบ

ระบุผู้ใช้จากการตอบกลับของ API หรือเหตุการณ์การโต้ตอบ

คุณระบุผู้ใช้ที่กลับมาจากการเรียก API หรือเหตุการณ์ขาเข้าได้หลายวิธี ดังนี้

  • Messages API: รับข้อมูลระบุตัวตนของผู้ส่งจาก Message.sender หรือผู้ใช้ที่ถูกกล่าวถึงจาก Message.annotations[].userMention.user
  • Membership API: รับข้อมูลระบุตัวตนของสมาชิกจาก Membership.member
  • เหตุการณ์การโต้ตอบ: เมื่อผู้ใช้โต้ตอบกับแอป Chat, Chat จะส่งเหตุการณ์การโต้ตอบพร้อมข้อมูลระบุตัวตนของผู้ใช้ใน Event.user

เนื่องจาก Google Chat API จะสร้างโปรไฟล์สำหรับทั้งผู้ใช้ภายในและภายนอก เมื่อใช้การตรวจสอบสิทธิ์ของผู้ใช้ นักพัฒนาแอปจึงไม่จำเป็นต้องเรียกใช้ Directory API เพื่อระบุชื่อหรืออีเมลสำหรับสมาชิกและผู้ส่งข้อความ