แสดงรายการกิจกรรมจากพื้นที่ใน Google Chat

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

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

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

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

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

Node.js

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

Python

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

แสดงรายการเหตุการณ์ในพื้นที่ (การตรวจสอบสิทธิ์ผู้ใช้)

หากต้องการแสดงกิจกรรมในพื้นที่ทำงานจากพื้นที่ทำงานใน Chat ให้ส่งข้อมูลต่อไปนี้ในคำขอ

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

  • เรียกใช้เมธอด ListSpaceEvents() โดยส่ง filter ของประเภทเหตุการณ์ที่จะแสดงรายการ คุณต้องระบุประเภทเหตุการณ์อย่างน้อย 1 ประเภท และยังกรองตามวันที่ได้ด้วย ดูรายการประเภทเหตุการณ์ที่รองรับได้ในเอกสารอ้างอิงของฟิลด์ eventType ของSpaceEventทรัพยากร

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

Node.js

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

// Authorization scopes based on the event types
const USER_AUTH_OAUTH_SCOPES = [
  'https://www.googleapis.com/auth/chat.memberships.readonly',
  'https://www.googleapis.com/auth/chat.messages.readonly',
];

// This sample shows how to list space events 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 here
    parent: 'spaces/SPACE_NAME',
    // A required filter. Filters events about new memberships and messages.
    filter:
      'eventTypes:"google.workspace.chat.membership.v1.created" OR eventTypes:"google.workspace.chat.message.v1.created"',
  };

  // Make the request
  const pageResult = chatClient.listSpaceEventsAsync(request);

  // Handle the response. Iterating over pageResult will yield results and
  // resolve additional pages automatically.
  for await (const response of pageResult) {
    console.log(response);
  }
}

await main();

หากต้องการเรียกใช้ตัวอย่างนี้ ให้แทนที่ SPACE_NAME ด้วยรหัสจาก พื้นที่ name คุณรับรหัสได้โดยเรียกใช้เมธอด ListSpaces() หรือจาก URL ของพื้นที่ทำงาน

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

แสดงรายการเหตุการณ์ในพื้นที่ทำงาน (การตรวจสอบสิทธิ์แอป 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
  • เรียกใช้เมธอด list ในspaceEvents ทรัพยากร
  • ส่ง name ของพื้นที่ทำงานเพื่อแสดงรายการข้อความ
  • ส่ง filter เพื่อค้นหาประเภทเหตุการณ์ที่เฉพาะเจาะจง

สร้างคีย์ 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

  1. สร้างไฟล์ชื่อ chat_spaceevents_list_app.py ในไดเรกทอรีการทำงาน
  2. ใส่รหัสต่อไปนี้ใน chat_spaceevents_list_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().list(
    
            # The space to list events 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.
            parent='spaces/SPACE_NAME',
    
            # A required filter. Filters events by event type.
            #
            # Update this filter to match your requirements.
            filter='eventTypes:"google.workspace.chat.message.v1.created"'
    
        ).execute()
    
        # Print Chat API's response in your command line interface.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. ในโค้ด ให้แทนที่ค่าต่อไปนี้

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

    python3 chat_spaceevents_list_app.py

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