ดูรายละเอียดเกี่ยวกับกิจกรรมในพื้นที่ใน Google Chat

คู่มือนี้อธิบายวิธีใช้เมธอด get() ในทรัพยากร SpaceEvent ของ Google Chat API เพื่อดูรายละเอียดเกี่ยวกับ กิจกรรมจากพื้นที่ทำงานใน Google Chat

SpaceEventทรัพยากร แสดงถึงการเปลี่ยนแปลงในพื้นที่ทำงานหรือทรัพยากรย่อยของพื้นที่ทำงาน เช่น ข้อความ รีแอ็กชัน และการเป็นสมาชิก ดูข้อมูลเกี่ยวกับประเภทเหตุการณ์ที่รองรับได้ที่ฟิลด์ eventType ของเอกสารอ้างอิงSpaceEvent

คุณขอรับกิจกรรมได้ล่วงหน้าสูงสุด 28 วันก่อนเวลาที่ขอ เหตุการณ์ มีทรัพยากรเวอร์ชันล่าสุดที่มีการเปลี่ยนแปลง เช่น หาก คุณขอเหตุการณ์เกี่ยวกับข้อความใหม่ แต่ต่อมาข้อความได้รับการอัปเดต เซิร์ฟเวอร์จะแสดงผลMessageทรัพยากรที่อัปเดตแล้วในเพย์โหลดของเหตุการณ์

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

ข้อกำหนดเบื้องต้น

Node.js

  • บัญชี Google Workspace สำหรับธุรกิจหรือองค์กร ที่มีสิทธิ์เข้าถึง Google Chat

Python

  • บัญชี Google Workspace สำหรับธุรกิจหรือองค์กร ที่มีสิทธิ์เข้าถึง Google Chat

ดูรายละเอียดเกี่ยวกับกิจกรรมในพื้นที่ (การตรวจสอบสิทธิ์ผู้ใช้)

หากต้องการดูรายละเอียดเกี่ยวกับกิจกรรมในพื้นที่ใน Google Chat ให้ส่งข้อมูลต่อไปนี้ในคำขอ

  • ระบุขอบเขตการให้สิทธิ์ที่รองรับประเภทเหตุการณ์ในคำขอ แนวทางปฏิบัติแนะนำคือให้เลือกขอบเขตที่จำกัดที่สุดซึ่งยังคงอนุญาตให้แอปทำงานได้
  • เรียกใช้เมธอด GetSpaceEvent() โดยส่ง name ของกิจกรรมในพื้นที่ทำงานที่จะรับ

ตัวอย่างต่อไปนี้จะรับเหตุการณ์ในพื้นที่ทำงาน

Node.js

ตัวอย่างโค้ด Node.js นี้ใช้ Chat RPC API

chat/client-libraries/cloud/get-space-event-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

// Replace SCOPE_NAME here with an authorization scope based on the event type
const USER_AUTH_OAUTH_SCOPES = ['SCOPE_NAME'];

// This sample shows how to get space event with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(
    USER_AUTH_OAUTH_SCOPES,
  );

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME and SPACE_EVENT_NAME here
    name: 'spaces/SPACE_NAME/spaceEvents/SPACE_EVENT_NAME',
  };

  // Make the request
  const response = await chatClient.getSpaceEvent(request);

  // Handle the response
  console.log(response);
}

await main();

หากต้องการเรียกใช้ตัวอย่างนี้ ให้แทนที่รายการต่อไปนี้

  • 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 ของแอป แล้วทำดังนี้

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ

    ไปที่ข้อมูลเข้าสู่ระบบ

  2. คลิกสร้างข้อมูลเข้าสู่ระบบ > คีย์ API
  3. ระบบจะแสดงคีย์ API ใหม่
    • คลิกคัดลอก เพื่อคัดลอกคีย์ API สำหรับใช้ ในโค้ดของแอป คุณยังดูคีย์ API ได้ในส่วน "คีย์ API" ของข้อมูลเข้าสู่ระบบของโปรเจ็กต์ ด้วย
    • เราขอแนะนำให้จำกัดตำแหน่งและ API ที่ใช้คีย์ API ได้เพื่อป้องกันการใช้งานที่ไม่ได้รับอนุญาต ดูรายละเอียดเพิ่มเติมได้ที่ เพิ่มการจำกัด API

เขียนสคริปต์ที่เรียกใช้ Chat API

วิธีดูรายละเอียดเกี่ยวกับกิจกรรมในพื้นที่ทำงานด้วย การตรวจสอบสิทธิ์แอปและ Chat REST API มีดังนี้

Python

ตัวอย่างโค้ด Python นี้ใช้ REST API ของ Chat

  1. สร้างไฟล์ชื่อ chat_spaceevents_get_app.py ในไดเรกทอรีการทำงาน
  2. ใส่รหัสต่อไปนี้ใน 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()
    
  3. ในโค้ด ให้แทนที่ค่าต่อไปนี้

  4. ในไดเรกทอรีการทำงาน ให้สร้างและเรียกใช้ตัวอย่างโดยทำดังนี้

    python3 chat_spaceevents_get_app.py

Chat API จะแสดงรายการ รายการเหตุการณ์ในพื้นที่ที่แบ่งหน้า เกี่ยวกับการเป็นสมาชิกและข้อความใหม่