ประเภทกิจกรรม

หน้านี้จะอธิบายพร็อพเพอร์ตี้ eventType และข้อกำหนดของประเภทเหตุการณ์ ที่มีอยู่ใน API ของ Google ปฏิทิน

Google ปฏิทินช่วยให้ผู้ใช้สร้างกิจกรรมทั่วไป รวมถึงกิจกรรมที่ ออกแบบมาสำหรับ Use Case เฉพาะและมีพร็อพเพอร์ตี้ที่กำหนดเอง

คุณดูประเภทเหตุการณ์ได้ในตำแหน่งต่อไปนี้ใน API

  • เหตุการณ์ทั้งหมดจะแสดงผลด้วย eventType
  • eventType ต้องตั้งค่าเมื่อสร้างหรืออัปเดตทรัพยากรเหตุการณ์ หากไม่ได้ตั้งค่า ระบบจะใช้ประเภท 'default'
  • eventTypes สามารถระบุได้ใน Events:list การเรียกให้แสดงเหตุการณ์จากประเภทที่เจาะจง ถ้าไม่มีการระบุประเภท เหตุการณ์ทุกประเภท
  • eventTypes สามารถระบุได้ในกิจกรรม:นาฬิกา การเรียกเพื่อติดตามการอัปเดตเกี่ยวกับกิจกรรมบางประเภท หากไม่มีประเภทคือ ที่ระบุ คำขอนั้นจะส่งผลให้มีการสมัครรับข้อมูลประเภทเหตุการณ์ทั้งหมด

เหตุการณ์เริ่มต้น

สร้างเหตุการณ์ที่มีประเภทเหตุการณ์ default และใช้เป็นหนึ่งในเหตุการณ์หลัก ทรัพยากรของ Google Calendar API โฆษณาแคตตาล็อกสินค้าในพื้นที่ ที่พัก ซึ่งสามารถใช้ปรับแต่งกิจกรรมเพิ่มเติมได้

โปรดดู สร้างเหตุการณ์เพื่อเริ่มทํางานด้วย กิจกรรมใน Google ปฏิทิน

วันเกิด

วันเกิดคือกิจกรรมพิเศษที่จัดตลอดวันโดยมีการเกิดซ้ำประจำปี ซึ่งมี ข้อกำหนดต่อไปนี้

  • ตั้งค่า eventType เป็น 'birthday'
  • start และ ฟิลด์ end ต้องกำหนดฟิลด์ กิจกรรมที่จัดขึ้นทั้งวัน ซึ่งก็คือ 1 วันพอดี
  • ค่าในช่อง visibility ต้องเป็น 'private'
  • ค่าในช่อง transparency ต้องเป็น 'transparent'
  • จำเป็นต้องมีการเกิดซ้ำทุกปี ซึ่งหมายความว่า ช่อง recurrence ต้องเป็น 'RRULE:FREQ=YEARLY' กิจกรรมวันเกิดที่ตรงกับวันที่ 29 กุมภาพันธ์ต้องมี กฎการเกิดซ้ำต่อไปนี้ 'RRULE:FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=-1'
  • สามารถมี colorId summary และ reminders
  • ไม่รองรับพร็อพเพอร์ตี้เหตุการณ์อื่นๆ

กิจกรรมจาก Gmail

กิจกรรมที่สร้างโดยอัตโนมัติจาก Gmail มีประเภทเหตุการณ์ 'fromGmail'

Google Calendar API ไม่อนุญาตให้สร้างกิจกรรมประเภทนี้โดยใช้ insert

API ช่วยให้อัปเดต colorId, reminders, visibility, transparency, status, private และ shared พร็อพเพอร์ตี้แบบขยายที่ใช้การอัปเดต และ แพตช์

API รองรับ get และ รายการวิธีการอ่านเหตุการณ์จาก Gmail มีโดเมน eventTypes ได้ ตั้งค่าเป็น 'fromGmail' เพื่อแสดงเฉพาะกิจกรรมที่สร้างจาก Gmail หากไม่มีประเภทคือ กิจกรรมจาก Gmail จะปรากฏอยู่ข้างกิจกรรมประเภทอื่นๆ ทั้งหมด

API รองรับเมธอด watch เพื่อ ติดตามการเปลี่ยนแปลงกิจกรรมจาก Gmail ใน Google ปฏิทิน หากไม่มีประเภทคือ ที่ระบุไว้ จะมีการติดตามเหตุการณ์ทุกประเภท รวมถึง 'fromGmail'

กิจกรรมจาก Gmail สามารถลบได้โดยใช้ delete ของ API ของ Google ปฏิทิน

เปลี่ยนผู้จัดกิจกรรมจาก Gmail โดยใช้ move หรือ ระบบไม่รองรับเมธอด update

เวลาที่ต้องการสมาธิ การลางาน และสถานที่ทำงาน

คุณสามารถใช้ Google ปฏิทิน API เพื่อสร้างและจัดการกิจกรรมที่แสดง สถานะของผู้ใช้ Google ปฏิทิน

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

สำรวจประเภทกิจกรรมใน Google Apps Script

Google Apps Script เป็นระบบคลาวด์ที่ทำงานด้วย JavaScript ภาษาสคริปต์ที่ช่วยให้คุณสร้างแอปพลิเคชันทางธุรกิจที่ผสานรวมกับ Google Workspace สคริปต์จะได้รับการพัฒนาในโปรแกรมแก้ไขโค้ดบนเบราว์เซอร์ และ ข้อมูลดังกล่าวจะได้รับการจัดเก็บไว้และทำงานบนเซิร์ฟเวอร์ของ Google โปรดดูเพิ่มเติมที่ Google Apps Script การเริ่มต้นอย่างรวดเร็วเพื่อเริ่มใช้ Apps Script เพื่อส่งคำขอไปยัง Google Calendar API

คำแนะนำต่อไปนี้จะอธิบายวิธีอ่านและจัดการเหตุการณ์โดยใช้ Google Calendar API เป็นบริการขั้นสูงใน Google Apps Script หากต้องการดูรายการทรัพยากรและวิธีการทั้งหมดของ Google Calendar API โปรดดูเอกสารอ้างอิง

สร้างและตั้งค่าสคริปต์

  1. สร้างสคริปต์โดยไปที่ script.google.com/create.
  2. ที่บานหน้าต่างด้านซ้ายถัดจากบริการ ให้คลิกเพิ่มบริการ
  3. เลือก Google Calendar API แล้วคลิกเพิ่ม
  4. หลังจากเปิดใช้แล้ว API จะปรากฏในแผงด้านซ้าย วิธีการที่ใช้ได้และ คุณสามารถแสดงชั้นเรียนใน API โดยใช้คีย์เวิร์ดปฏิทินในเครื่องมือแก้ไขได้

(ไม่บังคับ) อัปเดตโปรเจ็กต์ Google Cloud

โครงการ Google Apps Script แต่ละโครงการจะมีโครงการ Google Cloud เชื่อมโยงอยู่ บัญชี สคริปต์สามารถใช้โครงการเริ่มต้นที่ Google Apps Script โดยอัตโนมัติ สร้างสรรค์ขึ้น หากต้องการใช้โปรเจ็กต์ Google Cloud ที่กําหนดเอง โปรดดูหัวข้อเปลี่ยนไปใช้ โปรเจ็กต์ Cloud มาตรฐานที่แตกต่างกัน หลังจากตั้งค่าโปรเจ็กต์ Google Cloud แล้ว ให้เลือกผู้แก้ไข ทางด้านซ้ายเพื่อกลับไปที่ ตัวแก้ไขโค้ด

เพิ่มโค้ดลงในสคริปต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแสดงรายการ อ่าน และสร้างกิจกรรมด้วย ค่า eventType ที่แตกต่างกัน

  1. วางรายการต่อไปนี้ลงในตัวแก้ไขโค้ด

    const CALENDAR_ID = 'CALENDAR_ID' || 'primary';
    
    /** Lists default events. */
    function listDefaultEvents() {
      listEvents('default');
    }
    
    /** Lists events from Gmail. */
    function listEventsFromGmail() {
      listEvents('fromGmail');
    }
    
    /**
      * Lists events with the given event type. If no type is specified, lists all events.
      * See https://developers.google.com/calendar/api/v3/reference/events/list
      */
    function listEvents(eventType = undefined) {
      // Query parameters for the list request.
      const optionalArgs = {
        eventTypes: eventType ? [eventType] : undefined,
        singleEvents: true,
        timeMax: '2024-07-30T00:00:00+01:00',
        timeMin: '2024-07-29T00:00:00+01:00',
      }
      try {
        var response = Calendar.Events.list(CALENDAR_ID, optionalArgs);
        response.items.forEach(event => console.log(event));
      } catch (exception) {
        console.log(exception.message);
      }
    }
    
    /**
      * Reads the event with the given eventId.
      * See https://developers.google.com/calendar/api/v3/reference/events/get
      */
    function readEvent() {
      try {
        var response = Calendar.Events.get(CALENDAR_ID, 'EVENT_ID');
        console.log(response);
      } catch (exception) {
        console.log(exception.message);
      }
    }
    
    /** Creates a default event. */
    function createDefaultEvent() {
      const event = {
        start: { dateTime: '2024-07-30T10:30:00+01:00'},
        end: { dateTime: '2024-07-30T12:30:00+01:00'},
        description: 'Created from Apps Script.',
        eventType: 'default',
        summary: 'Sample event',
      }
      createEvent(event);
    }
    
    /**
      * Creates a Calendar event.
      * See https://developers.google.com/calendar/api/v3/reference/events/insert
      */
    function createEvent(event) {
    
      try {
        var response = Calendar.Events.insert(event, CALENDAR_ID);
        console.log(response);
      } catch (exception) {
        console.log(exception.message);
      }
    }
    

    โดยแทนที่ค่าต่อไปนี้

    • CALENDAR_ID: ที่อยู่อีเมลของปฏิทินเพื่อ ดึงข้อมูลและสร้างเหตุการณ์เปิดอยู่ ค่าคงที่นี้ตั้งไว้ในตอนแรกเป็น 'primary' ซึ่งเป็นคีย์เวิร์ดสำหรับเข้าถึงปฏิทินหลักของ ผู้ใช้ที่ลงชื่อเข้าใช้ การเปลี่ยนค่านี้จะทำให้คุณอ่านกิจกรรมในปฏิทินของ ผู้ใช้คนอื่นๆ ที่คุณมีสิทธิ์เข้าถึง
    • EVENT_ID: รหัสของเหตุการณ์ คุณสามารถเรียกใช้ Event:list เพื่อเรียกข้อมูลรหัสเหตุการณ์

เรียกใช้ตัวอย่างโค้ด

  1. เหนือตัวแก้ไขโค้ด ให้เลือกฟังก์ชันที่จะเรียกใช้จากเมนูแบบเลื่อนลง แล้วคลิก Run
  2. ในการดำเนินการครั้งแรก ระบบจะแสดงข้อความแจ้งให้คุณให้สิทธิ์เข้าถึง ตรวจสอบและอนุญาต Apps Script สำหรับเข้าถึงปฏิทินของคุณ
  3. คุณสามารถตรวจสอบผลลัพธ์ของการเรียกใช้สคริปต์ได้ใน บันทึกการดำเนินการที่ปรากฏที่ด้านล่างของหน้าต่าง