คู่มือนี้อธิบายวิธีใช้เมธอด
get()
ในทรัพยากร SpaceEvent
ของ Google Chat API เพื่อดูรายละเอียดเกี่ยวกับ
กิจกรรมจากพื้นที่ทำงานใน Google Chat
SpaceEvent
ทรัพยากร
แสดงถึงการเปลี่ยนแปลงในพื้นที่ทำงานหรือทรัพยากรย่อยของพื้นที่ทำงาน เช่น ข้อความ
รีแอ็กชัน และการเป็นสมาชิก ดูข้อมูลเกี่ยวกับประเภทเหตุการณ์ที่รองรับได้ที่ฟิลด์
eventType
ของเอกสารอ้างอิงSpaceEvent
คุณขอรับกิจกรรมได้ล่วงหน้าสูงสุด 28 วันก่อนเวลาที่ขอ เหตุการณ์
มีทรัพยากรเวอร์ชันล่าสุดที่มีการเปลี่ยนแปลง เช่น หาก
คุณขอเหตุการณ์เกี่ยวกับข้อความใหม่ แต่ต่อมาข้อความได้รับการอัปเดต
เซิร์ฟเวอร์จะแสดงผลMessage
ทรัพยากรที่อัปเดตแล้วในเพย์โหลดของเหตุการณ์
หากต้องการเรียกใช้เมธอดนี้ คุณต้องใช้การตรวจสอบสิทธิ์ผู้ใช้ หากต้องการรับกิจกรรม ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ต้องเป็นสมาชิกของพื้นที่ที่เกิดกิจกรรม
ข้อกำหนดเบื้องต้น
Node.js
- บัญชี Google Workspace สำหรับธุรกิจหรือองค์กร ที่มีสิทธิ์เข้าถึง Google Chat
- ตั้งค่าสภาพแวดล้อม โดยทำดังนี้
- สร้างโปรเจ็กต์ Google Cloud
- กำหนดค่าหน้าจอขอความยินยอม OAuth
- เปิดใช้และกำหนดค่า Google Chat API พร้อมชื่อ ไอคอน และคำอธิบายสำหรับแอป Chat
- ติดตั้ง Node.js Cloud Client Library
- สร้างข้อมูลเข้าสู่ระบบเพื่อเข้าถึงตามวิธีที่คุณต้องการตรวจสอบสิทธิ์ในคำขอ Google Chat API
ดังนี้
- หากต้องการตรวจสอบสิทธิ์ในฐานะผู้ใช้ Chat ให้
สร้างรหัสไคลเอ็นต์ OAuthและบันทึกข้อมูลเข้าสู่ระบบเป็นไฟล์ JSON ชื่อ
credentials.json
ในไดเรกทอรีในเครื่อง - หากต้องการตรวจสอบสิทธิ์ในฐานะแอป Chat ให้
สร้างบัญชีบริการ
ข้อมูลเข้าสู่ระบบ แล้วบันทึกข้อมูลเข้าสู่ระบบเป็นไฟล์ JSON ชื่อ
credentials.json
- หากต้องการตรวจสอบสิทธิ์ในฐานะผู้ใช้ Chat ให้
สร้างรหัสไคลเอ็นต์ OAuthและบันทึกข้อมูลเข้าสู่ระบบเป็นไฟล์ JSON ชื่อ
- เลือกขอบเขตการให้สิทธิ์ตามว่าคุณต้องการตรวจสอบสิทธิ์ในฐานะผู้ใช้หรือ แอปใน Chat
Python
- บัญชี Google Workspace สำหรับธุรกิจหรือองค์กร ที่มีสิทธิ์เข้าถึง Google Chat
- ตั้งค่าสภาพแวดล้อม โดยทำดังนี้
- สร้างโปรเจ็กต์ Google Cloud
- กำหนดค่าหน้าจอขอความยินยอม OAuth
- เปิดใช้และกำหนดค่า Google Chat API พร้อมชื่อ ไอคอน และคำอธิบายสำหรับแอป Chat
- ติดตั้ง Python Cloud Client Library
- สร้างข้อมูลเข้าสู่ระบบเพื่อเข้าถึงตามวิธีที่คุณต้องการตรวจสอบสิทธิ์ในคำขอ Google Chat API
ดังนี้
- หากต้องการตรวจสอบสิทธิ์ในฐานะผู้ใช้ Chat ให้
สร้างรหัสไคลเอ็นต์ OAuthและบันทึกข้อมูลเข้าสู่ระบบเป็นไฟล์ JSON ชื่อ
credentials.json
ในไดเรกทอรีในเครื่อง - หากต้องการตรวจสอบสิทธิ์ในฐานะแอป Chat ให้
สร้างบัญชีบริการ
ข้อมูลเข้าสู่ระบบ แล้วบันทึกข้อมูลเข้าสู่ระบบเป็นไฟล์ JSON ชื่อ
credentials.json
- หากต้องการตรวจสอบสิทธิ์ในฐานะผู้ใช้ Chat ให้
สร้างรหัสไคลเอ็นต์ OAuthและบันทึกข้อมูลเข้าสู่ระบบเป็นไฟล์ JSON ชื่อ
- เลือกขอบเขตการให้สิทธิ์ตามว่าคุณต้องการตรวจสอบสิทธิ์ในฐานะผู้ใช้หรือ แอปใน Chat
ดูรายละเอียดเกี่ยวกับกิจกรรมในพื้นที่ (การตรวจสอบสิทธิ์ผู้ใช้)
หากต้องการดูรายละเอียดเกี่ยวกับกิจกรรมในพื้นที่ใน Google Chat ให้ส่งข้อมูลต่อไปนี้ในคำขอ
- ระบุขอบเขตการให้สิทธิ์ที่รองรับประเภทเหตุการณ์ในคำขอ แนวทางปฏิบัติแนะนำคือให้เลือกขอบเขตที่จำกัดที่สุดซึ่งยังคงอนุญาตให้แอปทำงานได้
- เรียกใช้เมธอด
GetSpaceEvent()
โดยส่งname
ของกิจกรรมในพื้นที่ทำงานที่จะรับ
ตัวอย่างต่อไปนี้จะรับเหตุการณ์ในพื้นที่ทำงาน
Node.js
ตัวอย่างโค้ด Node.js นี้ใช้ Chat RPC API
หากต้องการเรียกใช้ตัวอย่างนี้ ให้แทนที่รายการต่อไปนี้
SCOPE_NAME
: ขอบเขตการให้สิทธิ์ตามประเภทเหตุการณ์ เช่น หากคุณได้รับเหตุการณ์ในพื้นที่ทำงาน เกี่ยวกับการเป็นสมาชิกใหม่ ให้ใช้ขอบเขตchat.memberships.readonly
ในรูปแบบhttps://www.googleapis.com/auth/chat.memberships.readonly
คุณดูประเภทเหตุการณ์ได้จากเมธอดListSpaceEvents()
ดูวิธีใช้วิธีนี้ได้ที่ แสดงรายการกิจกรรมจากพื้นที่ทำงานSPACE_NAME
: รหัสจากname
ของพื้นที่ทำงาน คุณรับรหัสได้โดยเรียกใช้เมธอดListSpaces()
หรือจาก URL ของพื้นที่ทำงานSPACE_EVENT_NAME
: รหัสจากname
ของกิจกรรมในพื้นที่ทำงาน คุณรับรหัสได้จากเมธอดListSpaceEvents()
ดูวิธีใช้วิธีนี้ได้ที่ แสดงรายการกิจกรรมจากพื้นที่ทำงาน
Chat API จะแสดงอินสแตนซ์ของ
SpaceEvent
พร้อมรายละเอียดเกี่ยวกับเหตุการณ์
ดูรายละเอียดเกี่ยวกับกิจกรรมในพื้นที่ทำงาน (การตรวจสอบสิทธิ์แอป Chat)
การตรวจสอบสิทธิ์แอปต้องมีการอนุมัติจากผู้ดูแลระบบแบบครั้งเดียว
หากต้องการดูรายละเอียดเกี่ยวกับกิจกรรมในพื้นที่ทำงานจากพื้นที่ทำงานที่มีการตรวจสอบสิทธิ์แอป โดยใช้ Chat REST API ให้ส่งข้อมูลต่อไปนี้ในคำขอ
- ระบุขอบเขตการให้สิทธิ์อย่างน้อย 1 รายการเพื่อรองรับเหตุการณ์แต่ละประเภทในคำขอ
แนวทางปฏิบัติแนะนำคือเลือกขอบเขตที่จำกัดที่สุดซึ่งยังคง
อนุญาตให้แอปทำงานได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการเลือกขอบเขตได้ที่ภาพรวมการตรวจสอบสิทธิ์และการให้สิทธิ์
https://www.googleapis.com/auth/chat.app.memberships
https://www.googleapis.com/auth/chat.app.messages.readonly
https://www.googleapis.com/auth/chat.app.spaces
- เรียกใช้เมธอด
get
ในspaceEvents
ทรัพยากร - ส่ง
name
ของพื้นที่ทำงานเพื่อรับรายละเอียดกิจกรรม
สร้างคีย์ API
หากต้องการเรียกเมธอด API ของรุ่นตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ คุณต้องใช้เอกสารการค้นพบ API เวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ที่ไม่ใช่แบบสาธารณะ หากต้องการตรวจสอบสิทธิ์คำขอ คุณต้องส่งคีย์ API
หากต้องการสร้างคีย์ API ให้เปิดโปรเจ็กต์ Google Cloud ของแอป แล้วทำดังนี้
- ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ
- คลิกสร้างข้อมูลเข้าสู่ระบบ > คีย์ API
- ระบบจะแสดงคีย์ API ใหม่
- คลิกคัดลอก เพื่อคัดลอกคีย์ API สำหรับใช้ ในโค้ดของแอป คุณยังดูคีย์ API ได้ในส่วน "คีย์ API" ของข้อมูลเข้าสู่ระบบของโปรเจ็กต์ ด้วย
- เราขอแนะนำให้จำกัดตำแหน่งและ API ที่ใช้คีย์ API ได้เพื่อป้องกันการใช้งานที่ไม่ได้รับอนุญาต ดูรายละเอียดเพิ่มเติมได้ที่ เพิ่มการจำกัด API
เขียนสคริปต์ที่เรียกใช้ Chat API
วิธีดูรายละเอียดเกี่ยวกับกิจกรรมในพื้นที่ทำงานด้วย การตรวจสอบสิทธิ์แอปและ Chat REST API มีดังนี้
Python
ตัวอย่างโค้ด Python นี้ใช้ REST API ของ Chat
- สร้างไฟล์ชื่อ
chat_spaceevents_get_app.py
ในไดเรกทอรีการทำงาน ใส่รหัสต่อไปนี้ใน
chat_spaceevents_get_app.py
from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # Set authorization scopes based on the # event type. For example, if you are getting a space event # about a new membership, use the `chat.app.memberships.readonly` scope. # # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships", "https://www.googleapis.com/auth/chat.app.messages.readonly", "https://www.googleapis.com/auth/chat.app.spaces"] def main(): ''' Authenticates with Chat API using app authentication, then lists space events from a specified space. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().spaceEvents().get( # The space to get event details from. # # Replace SPACE_NAME with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='spaces/SPACE_NAME/spaceEvents/SPACE_EVENT_NAME', ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()
ในโค้ด ให้แทนที่ค่าต่อไปนี้
API_KEY
: คีย์ API ที่คุณสร้างขึ้นเพื่อสร้าง ปลายทางบริการสำหรับ Chat APISPACE_NAME
: ชื่อพื้นที่ ซึ่งคุณรับได้จากเมธอดspaces.list
ใน Chat API หรือจาก URL ของพื้นที่SPACE_EVENT_NAME
: รหัสจากname
ของกิจกรรมในพื้นที่ทำงาน คุณรับรหัสได้จากเมธอดListSpaceEvents()
ดูวิธีใช้วิธีนี้ได้ที่ แสดงรายการกิจกรรมจากพื้นที่ทำงาน
ในไดเรกทอรีการทำงาน ให้สร้างและเรียกใช้ตัวอย่างโดยทำดังนี้
python3 chat_spaceevents_get_app.py
Chat API จะแสดงรายการ รายการเหตุการณ์ในพื้นที่ที่แบ่งหน้า เกี่ยวกับการเป็นสมาชิกและข้อความใหม่