Events: instances

แสดงผลอินสแตนซ์ของกิจกรรมที่เกิดซ้ํา ลองใช้เลยหรือดูตัวอย่าง

ส่งคำขอ

คำขอ HTTP

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId/instances

พารามิเตอร์

ชื่อพารามิเตอร์ ค่า คำอธิบาย
พารามิเตอร์เส้นทาง
calendarId string ตัวระบุปฏิทิน หากต้องการเรียกรหัสปฏิทิน ให้เรียกใช้เมธอด calendarList.list หากต้องการเข้าถึงปฏิทินหลักของผู้ใช้ที่เข้าสู่ระบบอยู่ ให้ใช้คีย์เวิร์ด "primary"
eventId string ตัวระบุกิจกรรมที่เกิดซ้ํา
พารามิเตอร์การค้นหาที่ไม่บังคับ
alwaysIncludeEmail boolean เลิกใช้งานแล้วและไม่สนใจ ระบบจะแสดงผลค่าในช่อง email สําหรับผู้จัด ครีเอเตอร์ และผู้เข้าร่วมเสมอ แม้ว่าจะไม่มีอีเมลจริงก็ตาม (เช่น ค่าที่สร้างซึ่งใช้งานไม่ได้)
maxAttendees integer จํานวนผู้เข้าร่วมสูงสุดในการตอบกลับ หากมีผู้เข้าร่วมมากกว่าจํานวนที่ระบุ ระบบจะแสดงเฉพาะผู้เข้าร่วมเท่านั้น ไม่บังคับ
maxResults integer จํานวนเหตุการณ์สูงสุดที่แสดงในหน้าผลการค้นหา 1 หน้า โดยค่าเริ่มต้น ค่าจะเป็น 250 เหตุการณ์ ขนาดหน้าเว็บต้องไม่เกิน 2500 เหตุการณ์ ไม่บังคับ
originalStart string เวลาเริ่มต้นเดิมของอินสแตนซ์ในผลลัพธ์ ไม่บังคับ
pageToken string โทเค็นที่ระบุหน้าผลการค้นหาที่จะแสดง ไม่บังคับ
showDeleted boolean รวมเหตุการณ์ที่ถูกลบ (ที่มี status เท่ากับ "cancelled") ในผลลัพธ์หรือไม่ แต่ระบบจะยังรวมอินสแตนซ์ของกิจกรรมที่เกิดซ้ําที่ยกเลิกหาก singleEvents เป็น "เท็จ" ไม่บังคับ ค่าเริ่มต้นคือ "เท็จ"
timeMax datetime ขอบเขตบน (ยกเว้น) สําหรับเวลาเริ่มต้นของกิจกรรมที่จะกรอง ไม่บังคับ ค่าเริ่มต้นคือไม่กรองตามเวลาเริ่มต้น ต้องเป็นการประทับเวลา RFC3339 ที่มีออฟเซ็ตเขตเวลาที่จําเป็น
timeMin datetime ขอบเขตล่าง (รวม) สําหรับเวลาสิ้นสุดของเหตุการณ์ที่ต้องการกรอง ไม่บังคับ ค่าเริ่มต้นคือไม่กรองตามเวลาสิ้นสุด ต้องเป็นการประทับเวลา RFC3339 ที่มีออฟเซ็ตเขตเวลาที่จําเป็น
timeZone string เขตเวลาที่ใช้ในการตอบกลับ ไม่บังคับ ค่าเริ่มต้นคือเขตเวลาของปฏิทิน

การให้สิทธิ์

คําขอนี้อนุญาตการให้สิทธิ์ที่มีขอบเขตดังต่อไปนี้อย่างน้อย 1 ขอบเขต

ขอบเขต
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events.readonly
https://www.googleapis.com/auth/calendar.events

สําหรับข้อมูลเพิ่มเติม โปรดดูหน้าการตรวจสอบสิทธิ์และการให้สิทธิ์

เนื้อหาของคำขอ

อย่าให้เนื้อหาคําขอด้วยวิธีนี้

คำตอบ

หากสําเร็จ วิธีนี้จะแสดงผลเนื้อหาการตอบกลับที่มีโครงสร้างต่อไปนี้

{
  "kind": "calendar#events",
  "etag": etag,
  "summary": string,
  "description": string,
  "updated": datetime,
  "timeZone": string,
  "accessRole": string,
  "defaultReminders": [
    {
      "method": string,
      "minutes": integer
    }
  ],
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    events Resource
  ]
}
ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย หมายเหตุ
kind string ประเภทคอลเล็กชัน ("calendar#events")
etag etag ETag ของคอลเล็กชัน
summary string ชื่อปฏิทิน อ่านอย่างเดียว
description string คําอธิบายปฏิทิน อ่านอย่างเดียว
updated datetime เวลาที่แก้ไขล่าสุดของปฏิทิน (เป็นการประทับเวลา RFC3339) อ่านอย่างเดียว
timeZone string เขตเวลาของปฏิทิน อ่านอย่างเดียว
accessRole string บทบาทการเข้าถึงของผู้ใช้สําหรับปฏิทินนี้ อ่านอย่างเดียว โดยค่าที่เป็นไปได้มีดังนี้
  • "none" - ผู้ใช้ไม่มีสิทธิ์เข้าถึง
  • "freeBusyReader" - ผู้ใช้มีสิทธิ์เข้าถึงข้อมูลว่าง/ไม่ว่าง
  • "reader" - ผู้ใช้มีสิทธิ์เข้าถึงแบบอ่านในปฏิทิน กิจกรรมส่วนตัวจะปรากฏต่อผู้ใช้ที่มีสิทธิ์เข้าถึงผู้อ่าน แต่จะซ่อนรายละเอียดของกิจกรรมไว้
  • "writer" - ผู้ใช้สิทธิ์ในการอ่านและเขียนปฏิทิน กิจกรรมส่วนตัวจะปรากฏต่อผู้ใช้ที่มีสิทธิ์เข้าถึงผู้เขียน และจะแสดงรายละเอียดกิจกรรม
  • "owner" - ผู้ใช้เป็นเจ้าของปฏิทิน บทบาทนี้มีสิทธิ์ทั้งหมดของบทบาทผู้เขียนซึ่งมีความสามารถเพิ่มเติมในการดูและจัดการ ACL
defaultReminders[] list การช่วยเตือนเริ่มต้นในปฏิทินสําหรับผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ การช่วยเตือนเหล่านี้ใช้กับกิจกรรมทั้งหมดในปฏิทินนี้ที่ไม่ได้ลบล้างอย่างชัดเจน (เช่น ไม่มีการตั้งค่า reminders.useDefault เป็น "จริง")
defaultReminders[].method string วิธีการที่การช่วยเตือนนี้ใช้ โดยค่าที่เป็นไปได้มีดังนี้
  • "email" - ส่งการช่วยเตือนทางอีเมล
  • "popup" - การช่วยเตือนจะส่งผ่านป๊อปอัป UI

ต้องระบุเมื่อเพิ่มการช่วยเตือน

เขียนได้
defaultReminders[].minutes integer จํานวนนาทีก่อนเริ่มกิจกรรมเพื่อให้การช่วยเตือนเริ่มทํางาน ค่าที่ใช้ได้จะอยู่ระหว่าง 0 ถึง 40320 (4 สัปดาห์ในไม่กี่นาที)

ต้องระบุเมื่อเพิ่มการช่วยเตือน

เขียนได้
nextPageToken string โทเค็นที่ใช้ในการเข้าถึงหน้าถัดไปของผลการค้นหานี้ ไม่เข้าร่วมหากไม่มีผลลัพธ์เพิ่มเติม ซึ่งในกรณีนี้จะเป็น nextSyncToken
items[] list รายการกิจกรรมในปฏิทิน
nextSyncToken string ระบบจะใช้โทเค็นในภายหลังเพื่อดึงเฉพาะรายการที่มีการเปลี่ยนแปลงนับตั้งแต่ที่แสดงผลลัพธ์นี้ ไม่ต้องระบุหากมีผลลัพธ์เพิ่มเติม ซึ่งในกรณีนี้คือ nextPageToken

ตัวอย่าง

หมายเหตุ: ตัวอย่างโค้ดที่มีสำหรับวิธีการนี้ไม่ได้แสดงถึงภาษาโปรแกรมที่รองรับทั้งหมด (ดูรายการภาษาที่รองรับได้ในหน้าไลบรารีของไคลเอ็นต์)

Java

ใช้ไลบรารีของไคลเอ็นต์ Java

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;
import com.google.api.services.calendar.model.Events;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Iterate over the instances of a specific recurring event
String pageToken = null;
do {
  Events events =
      service.events().instances('primary', 'eventId').setPageToken(pageToken).execute();
  List<Event> items = events.getItems();
  for (Event event : items) {
    System.out.println(event.getSummary());
  }
  pageToken = events.getNextPageToken();
} while (pageToken != null);

Python

ใช้ไลบรารีของไคลเอ็นต์ Python

page_token = None
while True:
  events = service.events().instances(calendarId='primary', eventId='eventId',
                                      pageToken=page_token).execute()
  for event in events['items']:
    print event['summary']
  page_token = events.get('nextPageToken')
  if not page_token:
    break

PHP

ใช้ไลบรารีของไคลเอ็นต์ PHP

$events = $service->events->instances('primary', "eventId");

while(true) {
  foreach ($events->getItems() as $event) {
    echo $event->getSummary();
  }
  $pageToken = $events->getNextPageToken();
  if ($pageToken) {
    $optParams = array('pageToken' => $pageToken);
    $events = $service->events->instances('primary', "eventId",
        $optParams);
  } else {
    break;
  }
}

Ruby

ใช้ไลบรารีของไคลเอ็นต์ Ruby

page_token = nil
begin
  result = client.list_event_instances('primary', 'eventId')
  result.items.each do |e|
    print e.summary + "\n"
  end
  if result.next_page_token != page_token
    page_token = result.next_page_token
  else
    page_token = nil
  end
end while !page_token.nil?

ลองใช้เลย

ใช้เครื่องมือสํารวจ API ด้านล่างเพื่อเรียกใช้วิธีการนี้สําหรับข้อมูลสดและดูการตอบกลับ