แสดงผลกิจกรรมในปฏิทินที่ระบุ ลองเลยหรือดูตัวอย่าง
ส่งคำขอ
คำขอ HTTP
GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events
พารามิเตอร์
ชื่อพารามิเตอร์ | ค่า | คำอธิบาย |
---|---|---|
พารามิเตอร์เส้นทาง | ||
calendarId |
string |
ตัวระบุปฏิทิน หากต้องการเรียกข้อมูลรหัสปฏิทิน ให้เรียกเมธอด calendarList.list หากคุณต้องการเข้าถึงปฏิทินหลักของผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน ให้ใช้ "primary " คีย์เวิร์ด
|
พารามิเตอร์การค้นหาที่ไม่บังคับ | ||
alwaysIncludeEmail |
boolean |
เลิกใช้งานและละเว้น |
eventTypes |
string |
ประเภทเหตุการณ์ที่จะแสดง ไม่บังคับ พารามิเตอร์นี้สามารถใช้ซ้ำได้หลายครั้งเพื่อให้แสดงเหตุการณ์ประเภทต่างๆ หากไม่ได้ตั้งค่า ระบบจะแสดงประเภทเหตุการณ์ทั้งหมด
ค่าที่ยอมรับได้ มีดังนี้
|
iCalUID |
string |
ระบุรหัสกิจกรรมในรูปแบบ iปฏิทิน เพื่อให้ระบุไว้ในการตอบกลับ ไม่บังคับ ใช้ตัวเลือกนี้ในกรณีที่ต้องการค้นหากิจกรรมตามรหัส i Calendar ของกิจกรรม |
maxAttendees |
integer |
จำนวนผู้เข้าร่วมสูงสุดที่จะรวมไว้ในคำตอบ หากมีผู้เข้าร่วมมากกว่าจำนวนที่ระบุไว้ ระบบจะส่งคืนเฉพาะผู้เข้าร่วม ไม่บังคับ |
maxResults |
integer |
จำนวนกิจกรรมสูงสุดที่แสดงผลในหน้าผลลัพธ์หนึ่งหน้า จำนวนเหตุการณ์ในหน้าผลลัพธ์อาจน้อยกว่าค่านี้ หรือไม่มีเลย แม้ว่าจะมีเหตุการณ์อื่นๆ ตรงกับคำค้นหามากกว่าก็ตาม ช่อง nextPageToken ที่ไม่ว่างเปล่าในคำตอบสามารถตรวจจับหน้าที่ไม่สมบูรณ์ได้ โดยค่าเริ่มต้น ค่านี้จะเป็น 250 เหตุการณ์ ขนาดของหน้าต้องไม่ใหญ่กว่า 2,500 เหตุการณ์ ไม่บังคับ
|
orderBy |
string |
ลำดับของเหตุการณ์ที่แสดงในผลลัพธ์ ไม่บังคับ ค่าเริ่มต้นคือเรียงลำดับที่เสถียรและไม่ระบุไว้
ค่าที่ยอมรับได้ มีดังนี้
|
pageToken |
string |
โทเค็นที่ระบุหน้าผลลัพธ์ที่จะแสดงผล ไม่บังคับ |
privateExtendedProperty |
string |
ข้อจำกัดพร็อพเพอร์ตี้แบบขยายที่ระบุเป็น propertyName=value จับคู่เฉพาะทรัพย์สินส่วนบุคคล พารามิเตอร์นี้อาจมีการใช้ซ้ำหลายครั้งเพื่อให้แสดงเหตุการณ์ที่ตรงกับข้อจำกัดที่ระบุทั้งหมด |
q |
string |
ข้อความค้นหาแบบข้อความอิสระเพื่อหากิจกรรมที่ตรงกับคำเหล่านี้ในช่องต่อไปนี้:
ข้อความค้นหาเหล่านี้ยังจับคู่คีย์เวิร์ดที่กําหนดไว้ล่วงหน้ากับการแปลชื่อที่แสดงทั้งหมดของสถานที่ทำงาน การลางาน และกิจกรรมเวลาที่ต้องการสมาธิด้วย เช่น การค้นหา "Office" หรือ "Bureau" จะแสดงกิจกรรมสถานที่ทำงานของประเภท |
sharedExtendedProperty |
string |
ข้อจำกัดพร็อพเพอร์ตี้แบบขยายที่ระบุเป็น propertyName=value จับคู่เฉพาะพร็อพเพอร์ตี้ที่แชร์ พารามิเตอร์นี้อาจมีการใช้ซ้ำหลายครั้งเพื่อให้แสดงเหตุการณ์ที่ตรงกับข้อจำกัดที่ระบุทั้งหมด |
showDeleted |
boolean |
ระบุว่าจะรวมเหตุการณ์ที่ถูกลบ (ที่มี status เท่ากับ "cancelled ") ในผลลัพธ์หรือไม่ อินสแตนซ์ที่ถูกยกเลิกของกิจกรรมที่เกิดซ้ำ (ไม่ใช่กิจกรรมที่เกิดซ้ำ) จะยังรวมอยู่ หาก showDeleted และ singleEvents เป็น "เท็จ" ทั้งคู่ หาก showDeleted และ singleEvents เป็น "จริง" ทั้งคู่ ระบบจะแสดงผลกิจกรรมที่ถูกลบเพียงอินสแตนซ์เดียว (แต่ไม่แสดงกิจกรรมที่เกิดซ้ำที่เกี่ยวข้อง) ไม่บังคับ ค่าเริ่มต้นคือ "เท็จ"
|
showHiddenInvitations |
boolean |
เลือกว่าจะรวมคำเชิญที่ซ่อนไว้ไว้ในผลการค้นหาหรือไม่ ไม่บังคับ ค่าเริ่มต้นคือ "เท็จ" |
singleEvents |
boolean |
เลือกว่าจะขยายกิจกรรมที่เกิดซ้ำเป็นอินสแตนซ์และแสดงผลเฉพาะกิจกรรมแบบครั้งเดียวและอินสแตนซ์ของกิจกรรมที่เกิดซ้ำเท่านั้น แต่ไม่แสดงกิจกรรมที่เกิดซ้ำที่อยู่เบื้องหลังเอง ไม่บังคับ ค่าเริ่มต้นคือ "เท็จ" |
syncToken |
string |
โทเค็นที่ได้รับจากฟิลด์ nextSyncToken แสดงผลในหน้าสุดท้ายของคำขอจากรายชื่อก่อนหน้า ซึ่งทำให้ผลลัพธ์ของคำขอรายการนี้มีเพียงรายการที่มีการเปลี่ยนแปลงนับจากวันนั้นเท่านั้น กิจกรรมทั้งหมดที่ถูกลบเนื่องจากคำขอรายการก่อนหน้าจะอยู่ในชุดผลลัพธ์เสมอ และไม่ได้รับอนุญาตให้ตั้งค่า showDeleted เป็น "เท็จ" มีพารามิเตอร์การค้นหาหลายรายการที่ไม่สามารถระบุร่วมกับ nextSyncToken เพื่อให้มั่นใจว่าสถานะไคลเอ็นต์สอดคล้องกัน ได้แก่
syncToken หมดอายุ เซิร์ฟเวอร์จะตอบกลับด้วยรหัสตอบกลับ 410 GONE และไคลเอ็นต์ควรล้างพื้นที่เก็บข้อมูลและดำเนินการซิงค์ทั้งหมดโดยไม่มี syncToken ดูข้อมูลเพิ่มเติมเกี่ยวกับการซิงค์ส่วนเพิ่ม (ไม่บังคับ) โดยค่าเริ่มต้นคือการแสดงผลรายการทั้งหมด |
timeMax |
datetime |
ขอบเขตบน (ไม่รวม) สำหรับเวลาเริ่มต้นของกิจกรรมเพื่อกรอง ไม่บังคับ ค่าเริ่มต้นคือไม่กรองตามเวลาเริ่มต้น ต้องเป็นการประทับเวลา RFC3339 ที่มีการชดเชยเขตเวลาที่จำเป็น เช่น 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z อาจระบุมิลลิวินาทีได้แต่ระบบจะไม่สนใจ หากตั้งค่า timeMin ไว้ timeMax ต้องมากกว่า timeMin
|
timeMin |
datetime |
ขอบเขตล่าง (ไม่รวม) สำหรับเวลาสิ้นสุดของกิจกรรมที่จะกรอง ไม่บังคับ ค่าเริ่มต้นคือไม่กรองตามเวลาสิ้นสุด ต้องเป็นการประทับเวลา RFC3339 ที่มีการชดเชยเขตเวลาที่จำเป็น เช่น 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z อาจระบุมิลลิวินาทีได้แต่ระบบจะไม่สนใจ หากตั้งค่า timeMax ไว้ timeMin ต้องน้อยกว่า timeMax
|
timeZone |
string |
เขตเวลาที่ใช้ในคำตอบ ไม่บังคับ ค่าเริ่มต้นคือเขตเวลาของปฏิทิน |
updatedMin |
datetime |
ขอบเขตล่างของเวลาการแก้ไขครั้งสุดท้ายของเหตุการณ์ (เป็นการประทับเวลา RFC3339) ที่จะกรอง เมื่อระบุ ระบบจะรวมรายการที่ถูกลบตั้งแต่เวลานี้เสมอโดยไม่คำนึงถึง showDeleted ไม่บังคับ ค่าเริ่มต้นคือไม่มีการกรองตามเวลาที่แก้ไขล่าสุด
|
การให้สิทธิ์
คำขอนี้อนุญาตให้มีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 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 |
บทบาทการเข้าถึงของผู้ใช้สำหรับปฏิทินนี้ อ่านอย่างเดียว ค่าที่เป็นไปได้คือ
|
|
defaultReminders[] |
list |
การช่วยเตือนเริ่มต้นในปฏิทินสำหรับผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว การช่วยเตือนเหล่านี้จะใช้กับกิจกรรมทั้งหมดในปฏิทินนี้ที่ไม่ได้ลบล้างอย่างชัดเจน (กล่าวคือ ไม่ได้ตั้งค่า reminders.useDefault เป็น "จริง") |
|
defaultReminders[].method |
string |
วิธีที่การช่วยเตือนนี้ใช้ ค่าที่เป็นไปได้คือ
ต้องระบุเมื่อเพิ่มการช่วยเตือน |
เขียนได้ |
defaultReminders[].minutes |
integer |
จำนวนนาทีก่อนเริ่มกิจกรรมซึ่งระบบควรเรียกใช้การช่วยเตือน ค่าที่ใช้ได้อยู่ระหว่าง 0 ถึง 40320 (4 สัปดาห์เป็นนาที) ต้องระบุเมื่อเพิ่มการช่วยเตือน |
เขียนได้ |
nextPageToken |
string |
โทเค็นที่ใช้ในการเข้าถึงหน้าถัดไปของผลการค้นหานี้ ละเว้นหากไม่มีผลลัพธ์เพิ่มเติม ซึ่งในกรณีนี้คือ nextSyncToken |
|
items[] |
list |
รายการกิจกรรมในปฏิทิน | |
nextSyncToken |
string |
โทเค็นที่ใช้ในภายหลังเพื่อเรียกเฉพาะรายการที่มีการเปลี่ยนแปลงนับตั้งแต่ผลลัพธ์นี้ถูกส่งคืน ละเว้นหากมีผลลัพธ์เพิ่มเติม ซึ่งในกรณีนี้คือ nextPageToken |
ตัวอย่าง
หมายเหตุ: ตัวอย่างโค้ดที่มีสำหรับวิธีการนี้ไม่ได้แสดงถึงภาษาโปรแกรมที่รองรับทั้งหมด (ดูรายการภาษาที่รองรับได้ในหน้าไลบรารีของไคลเอ็นต์)
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 events in the specified calendar String pageToken = null; do { Events events = service.events().list('primary').setPageToken(pageToken).execute(); List<Event> items = events.getItems(); for (Event event : items) { System.out.println(event.getSummary()); } pageToken = events.getNextPageToken(); } while (pageToken != null);
Python
page_token = None while True: events = service.events().list(calendarId='primary', pageToken=page_token).execute() for event in events['items']: print event['summary'] page_token = events.get('nextPageToken') if not page_token: break
PHP
$events = $service->events->listEvents('primary'); while(true) { foreach ($events->getItems() as $event) { echo $event->getSummary(); } $pageToken = $events->getNextPageToken(); if ($pageToken) { $optParams = array('pageToken' => $pageToken); $events = $service->events->listEvents('primary', $optParams); } else { break; } }
Ruby
page_token = nil begin result = client.list_events('primary', page_token: page_token) 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 ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลแบบสดและดูการตอบกลับ