CalendarList: list

แสดงผลปฏิทินในรายการปฏิทินของผู้ใช้ ลองใช้เลยหรือดูตัวอย่าง

ส่งคำขอ

คำขอ HTTP

GET https://www.googleapis.com/calendar/v3/users/me/calendarList

พารามิเตอร์

ชื่อพารามิเตอร์ ค่า คำอธิบาย
พารามิเตอร์การค้นหาที่ไม่บังคับ
maxResults integer จำนวนรายการสูงสุดที่แสดงผลในหน้าผลการค้นหาหนึ่งหน้า โดยค่าเริ่มต้นคือ 100 รายการ ขนาดหน้าเว็บต้องไม่เกิน 250 รายการ ไม่บังคับ
minAccessRole string บทบาทการเข้าถึงขั้นต่ำสำหรับผู้ใช้ในรายการที่แสดงผล ไม่บังคับ ค่าเริ่มต้นคือไม่มีข้อจำกัด

ค่าที่ยอมรับมีดังนี้
  • "freeBusyReader": ผู้ใช้จะอ่านข้อมูลว่าง/ไม่ว่างได้
  • "owner": ผู้ใช้สามารถอ่านและแก้ไขเหตุการณ์และรายการควบคุมการเข้าถึงได้
  • "reader": ผู้ใช้สามารถอ่านกิจกรรมที่ไม่เป็นส่วนตัวได้
  • "writer": ผู้ใช้อ่านและแก้ไขเหตุการณ์ได้
pageToken string โทเค็นที่ระบุหน้าผลลัพธ์ที่จะแสดงผล ไม่บังคับ
showDeleted boolean รวมรายการปฏิทินที่ลบไปแล้วในผลลัพธ์หรือไม่ ไม่บังคับ ทั้งนี้ ระบบตั้งค่าเริ่มต้นไว้เป็น "เท็จ"
showHidden boolean ต้องการแสดงรายการที่ซ่อนไว้หรือไม่ ไม่บังคับ ทั้งนี้ ระบบตั้งค่าเริ่มต้นไว้เป็น "เท็จ"
syncToken string โทเค็นที่ได้รับจากช่อง nextSyncToken จะแสดงในหน้าสุดท้ายของผลลัพธ์จากคำขอรายการก่อนหน้า ทำให้ผลลัพธ์ของคำขอรายการนี้มีเฉพาะรายการที่มีการเปลี่ยนแปลงนับตั้งแต่นั้น ถ้ามีการเปลี่ยนแปลงเฉพาะช่องแบบอ่านอย่างเดียว เช่น คุณสมบัติของปฏิทินหรือ ACL ระบบจะไม่แสดงรายการ ระบบลบและซ่อนรายการทั้งหมดเนื่องจากคำขอรายการก่อนหน้าจะอยู่ในชุดผลลัพธ์เสมอ และไม่อนุญาตให้ตั้งค่า showDeleted ไม่ใช่ "showHidden" เป็น "เท็จ"
เพื่อให้ระบุพารามิเตอร์การค้นหา minAccessRole ร่วมกับ nextSyncToken เพื่อความสอดคล้องของสถานะไคลเอ็นต์ไม่ได้
หาก syncToken หมดอายุ เซิร์ฟเวอร์จะตอบกลับด้วยรหัสตอบกลับ 410 GONE และไคลเอ็นต์ควรล้างพื้นที่เก็บข้อมูลและดำเนินการซิงค์ข้อมูลอย่างเต็มรูปแบบโดยไม่ต้องใช้ syncToken
ดูข้อมูลเพิ่มเติมเกี่ยวกับการซิงค์ที่เพิ่มขึ้น
ไม่บังคับ ค่าเริ่มต้นคือส่งคืนรายการทั้งหมด

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

คำขอนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 ขอบเขต

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

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

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

โปรดอย่าแสดงเนื้อหาของคำขอด้วยวิธีนี้

คำตอบ

หากสำเร็จ เมธอดนี้จะแสดงเนื้อหาการตอบสนองที่มีโครงสร้างต่อไปนี้

{
  "kind": "calendar#calendarList",
  "etag": etag,
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    calendarList Resource
  ]
}
ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย Notes
kind string ประเภทของคอลเล็กชัน ("calendar#calendarList")
etag etag ETag ของคอลเล็กชัน
nextPageToken string โทเค็นที่ใช้เข้าถึงหน้าถัดไปของผลการค้นหานี้ ละเว้นหากไม่มีผลลัพธ์เพิ่มเติม ซึ่งในกรณีนี้มีการระบุ nextSyncToken
items[] list ปฏิทินที่ปรากฏในรายการปฏิทินของผู้ใช้
nextSyncToken string โทเค็นที่ใช้ในเวลาต่อมาเพื่อเรียกเฉพาะรายการที่มีการเปลี่ยนแปลงนับตั้งแต่ผลลัพธ์นี้กลับมา ละไว้หากมีผลลัพธ์เพิ่มเติม ซึ่งในกรณีนี้จะมี nextPageToken

ตัวอย่าง

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

Java

ใช้ไลบรารีของไคลเอ็นต์ 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

ใช้ไลบรารีของไคลเอ็นต์ 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

ใช้ไลบรารีของไคลเอ็นต์ 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

ใช้ไลบรารีของไคลเอ็นต์ 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 Explorer ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลแบบเรียลไทม์และดูการตอบสนอง