แสดงผลกิจกรรมบนปฏิทินที่ระบุ ลองใช้เลยหรือดูตัวอย่าง
ส่งคำขอ
คำขอ HTTP
GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events
พารามิเตอร์
ชื่อพารามิเตอร์ | ค่า | คำอธิบาย |
---|---|---|
พารามิเตอร์เส้นทาง | ||
calendarId |
string |
ตัวระบุปฏิทิน หากต้องการเรียกรหัสปฏิทิน ให้เรียกเมธอด calendarList.list หากต้องการเข้าถึงปฏิทินหลักของผู้ใช้ที่เข้าสู่ระบบอยู่ ให้ใช้คีย์เวิร์ด "primary "
|
พารามิเตอร์การค้นหาที่ไม่บังคับ | ||
alwaysIncludeEmail |
boolean |
เลิกใช้งานแล้วและไม่สนใจ ระบบจะแสดงผลข้อมูลในช่อง email สําหรับผู้จัด ผู้สร้าง และผู้เข้าร่วมเสมอ แม้ว่าจะไม่มีที่อยู่อีเมลจริงพร้อมใช้งานก็ตาม (เช่น ค่าที่ใช้ได้และไม่สามารถใช้งานได้)
|
eventTypes |
string |
ประเภทกิจกรรมที่จะส่งคืน ไม่บังคับ ค่าที่เป็นไปได้คือ:
["default", "focusTime", "outOfOffice"] ชุดค่าผสมเพิ่มเติมของเหตุการณ์ทั้ง 4 ประเภทจะพร้อมใช้งานในรุ่นถัดไป |
iCalUID |
string |
ระบุรหัสกิจกรรมในรูปแบบ iCalendar ที่จะระบุไว้ในการตอบกลับ ไม่บังคับ ใช้สําหรับค้นหากิจกรรมโดยใช้รหัส iCalendar |
maxAttendees |
integer |
จํานวนผู้เข้าร่วมสูงสุดในการตอบกลับ หากมีผู้เข้าร่วมมากกว่าจํานวนที่ระบุ ผู้เข้าร่วมจะถูกส่งคืน ไม่บังคับ |
maxResults |
integer |
จํานวนเหตุการณ์สูงสุดที่แสดงผลในหน้าผลการค้นหา 1 หน้า จํานวนเหตุการณ์ในหน้าผลลัพธ์อาจน้อยกว่าค่านี้ หรือไม่มีเลยแม้ว่าจะมีเหตุการณ์ที่ตรงกับคําค้นหามากกว่าก็ตาม ระบบตรวจหาหน้าที่ไม่ครบถ้วนได้โดยมีช่อง nextPageToken ที่ไม่ว่างเปล่าในการตอบกลับ โดยค่าเริ่มต้น ค่านี้จะเป็น 250 เหตุการณ์ หน้าเว็บต้องมีขนาดไม่เกิน 2,500 เหตุการณ์ ไม่บังคับ
|
orderBy |
string |
ลําดับของเหตุการณ์ที่ส่งกลับในผลลัพธ์ ไม่บังคับ ค่าเริ่มต้นคือลําดับที่คงที่และไม่ระบุ
ค่าที่ยอมรับได้ ได้แก่
|
pageToken |
string |
โทเค็นที่ระบุหน้าผลการค้นหาที่จะส่งคืน ไม่บังคับ |
privateExtendedProperty |
string |
ระบุข้อจํากัดพร็อพเพอร์ตี้แบบขยายเป็น propertyName=value จับคู่เฉพาะพร็อพเพอร์ตี้ส่วนตัว อาจมีการใช้พารามิเตอร์นี้ซ้ําหลายครั้งเพื่อแสดงเหตุการณ์ที่ตรงกับข้อจํากัดทั้งหมดที่ระบุ |
q |
string |
ข้อความค้นหาฟรีเพื่อค้นหากิจกรรมที่ตรงกับคําเหล่านี้: summary , description , location , displayName ของผู้เข้าร่วม, email ของผู้เข้าร่วม ไม่บังคับ
|
sharedExtendedProperty |
string |
ระบุข้อจํากัดพร็อพเพอร์ตี้แบบขยายเป็น propertyName=value จับคู่เฉพาะพร็อพเพอร์ตี้ที่แชร์ อาจมีการใช้พารามิเตอร์นี้ซ้ําหลายครั้งเพื่อแสดงเหตุการณ์ที่ตรงกับข้อจํากัดทั้งหมดที่ระบุ |
showDeleted |
boolean |
กําหนดว่าจะรวมเหตุการณ์ที่ถูกลบ (ที่มี status เท่ากับ "cancelled ") ในผลลัพธ์หรือไม่ ระบบจะรวมอินสแตนซ์ของกิจกรรมที่เกิดซ้ําซึ่งยกเลิกไปแล้ว (แต่ไม่รวมกิจกรรมที่เกิดซ้ํา)) หาก showDeleted และ singleEvents เป็นเท็จ ถ้า showDeleted และ singleEvents เป็น "จริง" เฉพาะกิจกรรมที่ถูกลบเพียงอินสแตนซ์เดียวเท่านั้น (แต่ไม่ใช่กิจกรรมที่เกิดซ้ํา)) ไม่บังคับ ทั้งนี้ ระบบตั้งค่าเริ่มต้นไว้ที่ False
|
showHiddenInvitations |
boolean |
รวมคําเชิญที่ซ่อนไว้ในผลการค้นหาหรือไม่ ไม่บังคับ ทั้งนี้ ระบบตั้งค่าเริ่มต้นไว้ที่ False |
singleEvents |
boolean |
ระบุว่าจะขยายกิจกรรมที่เกิดซ้ําเป็นอินสแตนซ์หรือไม่ และแสดงเฉพาะกิจกรรมที่เกิดขึ้นครั้งเดียวและอินสแตนซ์ของกิจกรรมที่เกิดซ้ํา ไม่ใช่การเกิดซ้ําของกิจกรรมที่เกิดขึ้นเอง ไม่บังคับ ทั้งนี้ ระบบตั้งค่าเริ่มต้นไว้ที่ False |
syncToken |
string |
โทเค็นที่ได้รับจากช่อง nextSyncToken จะแสดงในหน้าสุดท้ายของผลการค้นหาจากคําขอของรายการก่อนหน้า ทําให้ผลของคําขอรายการนี้มีเพียงรายการที่มีการเปลี่ยนแปลงนับจากนั้น กิจกรรมทั้งหมดที่ถูกลบเนื่องจากคําขอรายการก่อนหน้าจะอยู่ในชุดผลลัพธ์เสมอ และไม่อนุญาตให้ตั้งค่า showDeleted เป็น "เท็จ" มีพารามิเตอร์การค้นหาหลายรายการที่ระบุร่วมกับ nextSyncToken ไม่ได้ เพื่อให้สถานะของลูกค้าตรงกัน ได้แก่
syncToken หมดอายุ เซิร์ฟเวอร์จะตอบสนองด้วยรหัสการตอบกลับ 410 และไคลเอ็นต์ควรล้างพื้นที่เก็บข้อมูล และดําเนินการซิงค์ข้อมูลแบบเต็มโดยไม่มี 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 ด้านล่างเพื่อเรียกใช้วิธีการนี้กับข้อมูลสดและดูการตอบกลับ