แสดงปฏิทินในรายการปฏิทินของผู้ใช้ ลองใช้เลยหรือดูตัวอย่าง
ส่งคำขอ
คำขอ HTTP
GET https://www.googleapis.com/calendar/v3/users/me/calendarList
พารามิเตอร์
ชื่อพารามิเตอร์ | ค่า | คำอธิบาย |
---|---|---|
พารามิเตอร์การค้นหาที่ไม่บังคับ | ||
maxResults |
integer |
จำนวนรายการสูงสุดที่แสดงในหน้าผลการค้นหาหน้าเดียว โดยค่าเริ่มต้น ค่านี้คือ 100 รายการ ขนาดหน้าเว็บต้องไม่เกิน 250 รายการ ไม่บังคับ |
minAccessRole |
string |
บทบาทการเข้าถึงขั้นต่ำของผู้ใช้ในรายการที่แสดง ไม่บังคับ ค่าเริ่มต้นคือไม่มีข้อจำกัด
ค่าที่ยอมรับมีดังนี้
|
pageToken |
string |
โทเค็นที่ระบุหน้าผลการค้นหาที่จะแสดง ไม่บังคับ |
showDeleted |
boolean |
ว่าจะรวมรายการปฏิทินที่ถูกลบไว้ในผลการค้นหาหรือไม่ ไม่บังคับ ค่าเริ่มต้นคือ False |
showHidden |
boolean |
เลือกว่าจะแสดงรายการที่ซ่อนอยู่หรือไม่ ไม่บังคับ ค่าเริ่มต้นคือ False |
syncToken |
string |
โทเค็นที่ได้รับจากช่อง nextSyncToken ที่แสดงในหน้าสุดท้ายของผลการค้นหาจากคำขอรายการก่อนหน้า ซึ่งจะทำให้ผลการค้นหารายการนี้มีเฉพาะรายการที่มีการเปลี่ยนแปลงนับตั้งแต่นั้น หากมีการเปลี่ยนแปลงเฉพาะช่องที่อ่านอย่างเดียว เช่น พร็อพเพอร์ตี้ปฏิทินหรือ ACL ระบบจะไม่แสดงรายการ รายการทั้งหมดที่ถูกลบและซ่อนไว้นับตั้งแต่คำขอรายการก่อนหน้าจะอยู่ในชุดผลลัพธ์เสมอ และไม่อนุญาตให้ตั้งค่า showDeleted หรือ showHidden เป็น False ต้องไม่ระบุพารามิเตอร์การค้นหา minAccessRole ร่วมกับ nextSyncToken เพื่อให้สถานะไคลเอ็นต์สอดคล้องกัน หาก syncToken หมดอายุ เซิร์ฟเวอร์จะตอบกลับด้วยรหัสการตอบกลับ 410 (ไม่มีแล้ว) และไคลเอ็นต์ควรล้างพื้นที่เก็บข้อมูลและทำการซิงค์อย่างเต็มรูปแบบโดยไม่มี syncToken ดูข้อมูลเพิ่มเติมเกี่ยวกับการซิงค์แบบเพิ่ม ไม่บังคับ ค่าเริ่มต้นคือแสดงรายการทั้งหมด |
การให้สิทธิ์
คำขอนี้ต้องมีการให้สิทธิ์ด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
ขอบเขต |
---|
https://www.googleapis.com/auth/calendar.readonly |
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.calendarlist |
https://www.googleapis.com/auth/calendar.calendarlist.readonly |
ดูข้อมูลเพิ่มเติมได้ที่หน้าการตรวจสอบสิทธิ์และการให้สิทธิ์
เนื้อหาของคำขอ
อย่าระบุเนื้อหาคำขอด้วยเมธอดนี้
คำตอบ
หากทำสำเร็จ วิธีการนี้จะแสดงผลลัพธ์เป็นเนื้อหาการตอบกลับซึ่งมีโครงสร้างดังต่อไปนี้
{ "kind": "calendar#calendarList", "etag": etag, "nextPageToken": string, "nextSyncToken": string, "items": [ calendarList Resource ] }
ชื่อพร็อพเพอร์ตี้ | ค่า | คำอธิบาย | หมายเหตุ |
---|---|---|---|
kind |
string |
ประเภทคอลเล็กชัน ("calendar#calendarList ") |
|
etag |
etag |
ETag ของคอลเล็กชัน | |
nextPageToken |
string |
โทเค็นที่ใช้เข้าถึงหน้าถัดไปของผลการค้นหานี้ ละเว้นหากไม่มีผลการค้นหาเพิ่มเติม ซึ่งในกรณีนี้ระบบจะแสดง nextSyncToken |
|
items[] |
list |
ปฏิทินที่อยู่ในรายการปฏิทินของผู้ใช้ | |
nextSyncToken |
string |
โทเค็นที่ใช้ในภายหลังเพื่อดึงเฉพาะรายการที่มีการเปลี่ยนแปลงนับตั้งแต่แสดงผลลัพธ์นี้ ละเว้นหากมีผลการค้นหาเพิ่มเติม ซึ่งในกรณีนี้จะมี nextPageToken |
ตัวอย่าง
หมายเหตุ: ตัวอย่างโค้ดที่มีสำหรับวิธีการนี้ไม่ได้แสดงถึงภาษาโปรแกรมที่รองรับทั้งหมด (ดูรายการภาษาที่รองรับได้ในหน้าไลบรารีของไคลเอ็นต์)
Java
import com.google.api.services.calendar.Calendar; import com.google.api.services.calendar.model.CalendarList; import com.google.api.services.calendar.model.CalendarListEntry; // ... // Initialize Calendar service with valid OAuth credentials Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials) .setApplicationName("applicationName").build(); // Iterate through entries in calendar list String pageToken = null; do { CalendarList calendarList = service.calendarList().list().setPageToken(pageToken).execute(); List<CalendarListEntry> items = calendarList.getItems(); for (CalendarListEntry calendarListEntry : items) { System.out.println(calendarListEntry.getSummary()); } pageToken = calendarList.getNextPageToken(); } while (pageToken != null);
Python
page_token = None while True: calendar_list = service.calendarList().list(pageToken=page_token).execute() for calendar_list_entry in calendar_list['items']: print calendar_list_entry['summary'] page_token = calendar_list.get('nextPageToken') if not page_token: break
PHP
$calendarList = $service->calendarList->listCalendarList(); while(true) { foreach ($calendarList->getItems() as $calendarListEntry) { echo $calendarListEntry->getSummary(); } $pageToken = $calendarList->getNextPageToken(); if ($pageToken) { $optParams = array('pageToken' => $pageToken); $calendarList = $service->calendarList->listCalendarList($optParams); } else { break; } }
Ruby
page_token = nil begin result = client.list_calendar_lists(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 ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลจริงและดูการตอบกลับ