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 จำนวนกิจกรรมสูงสุดที่แสดงผลในหน้าผลลัพธ์หนึ่งหน้า โดยค่าเริ่มต้น ค่านี้จะเป็น 250 เหตุการณ์ ขนาดของหน้าต้องไม่ใหญ่กว่า 2,500 เหตุการณ์ ไม่บังคับ
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 Explorer ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลแบบสดและดูการตอบกลับ