Events: instances

Trả về các phiên bản của sự kiện định kỳ đã chỉ định. Thử ngay hoặc xem ví dụ.

Yêu cầu

Yêu cầu HTTP

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId/instances

Các tham số

Tên thông số Giá trị Nội dung mô tả
Tham số đường dẫn
calendarId string Giá trị nhận dạng lịch. Để truy xuất mã lịch, hãy gọi phương thức calendarList.list. Nếu bạn muốn truy cập vào lịch chính của người dùng đang đăng nhập, hãy sử dụng từ khoá "primary".
eventId string Giá trị nhận dạng sự kiện định kỳ.
Tham số truy vấn không bắt buộc
alwaysIncludeEmail boolean Không dùng nữa và bị bỏ qua. Một giá trị sẽ luôn được trả về trong trường email cho người tổ chức, người tạo và người tham dự, ngay cả khi không có địa chỉ email thực (tức là giá trị được tạo, không hoạt động sẽ được cung cấp).
maxAttendees integer Số người tham dự tối đa có thể đưa vào phản hồi. Nếu có nhiều hơn số người tham dự đã chỉ định, chỉ có người tham gia đó được trả về. Không bắt buộc.
maxResults integer Số lượng sự kiện tối đa được trả về trên một trang kết quả. Theo mặc định, giá trị này là 250 sự kiện. Kích thước trang không bao giờ được lớn hơn 2.500 sự kiện. Không bắt buộc.
originalStart string Thời gian bắt đầu ban đầu của thực thể trong kết quả. Không bắt buộc.
pageToken string Mã thông báo chỉ định trang kết quả cần trả về. Không bắt buộc.
showDeleted boolean Liệu có đưa các sự kiện đã xoá (với status bằng "cancelled") vào kết quả hay không. Nếu bạn đặt chính sách singleEvents thành False, thì những lần diễn ra sự kiện định kỳ đã bị huỷ vẫn sẽ được bao gồm. Không bắt buộc. Giá trị mặc định là False.
timeMax datetime Giới hạn trên (loại trừ) cho thời gian bắt đầu của một sự kiện để lọc theo. Không bắt buộc. Theo mặc định, bạn không nên lọc theo thời gian bắt đầu. Phải là dấu thời gian RFC3339 với chênh lệch múi giờ bắt buộc.
timeMin datetime Giới hạn dưới (bao gồm) cho thời gian kết thúc của một sự kiện để lọc theo. Không bắt buộc. Theo mặc định, bạn không nên lọc theo thời gian kết thúc. Phải là dấu thời gian RFC3339 với chênh lệch múi giờ bắt buộc.
timeZone string Múi giờ dùng trong câu trả lời. Không bắt buộc. Múi giờ mặc định là múi giờ của lịch.

Ủy quyền

Yêu cầu này cho phép uỷ quyền với ít nhất một trong các phạm vi sau:

Phạm vi
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

Để biết thêm thông tin, hãy xem trang xác thực và uỷ quyền.

Nội dung yêu cầu

Đừng cung cấp nội dung yêu cầu bằng phương thức này.

Phản hồi

Nếu thành công, phương thức này sẽ trả về một nội dung phản hồi có cấu trúc như sau:

{
  "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
  ]
}
Tên tài sản Giá trị Nội dung mô tả Ghi chú
kind string Loại bộ sưu tập ("calendar#events").
etag etag ETag của bộ sưu tập.
summary string Tên lịch. Chỉ đọc.
description string Nội dung mô tả về lịch. Chỉ đọc.
updated datetime Thời gian sửa đổi lịch gần đây nhất (dưới dạng dấu thời gian RFC3339). Chỉ đọc.
timeZone string Múi giờ của lịch. Chỉ đọc.
accessRole string Vai trò truy cập của người dùng đối với lịch này. Chỉ đọc. Các giá trị có thể sử dụng là:
  • "none" – Người dùng không có quyền truy cập.
  • "freeBusyReader" – Người dùng có quyền đọc thông tin rảnh/bận.
  • "reader" – Người dùng có quyền đọc lịch. Những người dùng có quyền đọc sẽ thấy các sự kiện riêng tư, nhưng thông tin chi tiết về sự kiện sẽ bị ẩn.
  • "writer" – Người dùng có quyền đọc và ghi đối với lịch. Người dùng có quyền ghi sẽ thấy được các sự kiện riêng tư và thông tin chi tiết về sự kiện sẽ xuất hiện.
  • "owner" – Người dùng có quyền sở hữu lịch. Vai trò này có tất cả các quyền của vai trò người ghi với khả năng bổ sung để xem và thao tác các ACL.
defaultReminders[] list Lời nhắc mặc định trên lịch cho người dùng đã xác thực. Những lời nhắc này áp dụng cho mọi sự kiện trên lịch này không được ghi đè rõ ràng (tức là không đặt reminders.useDefault thành True).
defaultReminders[].method string Phương thức mà lời nhắc này sử dụng. Các giá trị có thể sử dụng là:
  • "email" – Lời nhắc được gửi qua email.
  • "popup" – Lời nhắc được gửi qua một cửa sổ bật lên trên giao diện người dùng.

Bắt buộc khi thêm lời nhắc.

có thể ghi
defaultReminders[].minutes integer Số phút trước khi bắt đầu sự kiện khi lời nhắc sẽ kích hoạt. Các giá trị hợp lệ nằm trong khoảng từ 0 đến 40320 (4 tuần tính bằng phút).

Bắt buộc khi thêm lời nhắc.

có thể ghi
nextPageToken string Mã thông báo được dùng để truy cập vào trang tiếp theo của kết quả này. Được bỏ qua nếu không có thêm kết quả nào, trong trường hợp này, nextSyncToken sẽ được cung cấp.
items[] list Danh sách sự kiện trên lịch.
nextSyncToken string Mã thông báo được sử dụng sau đó để chỉ truy xuất các mục nhập đã thay đổi kể từ khi kết quả này được trả về. Bỏ qua nếu có thêm kết quả, trong trường hợp này, nextPageToken sẽ được cung cấp.

Ví dụ

Lưu ý: Các đoạn mã mẫu của phương thức này không phải là ví dụ cho mọi ngôn ngữ lập trình được hỗ trợ (xem trang thông tin về các thư viện dùng cho ứng dụng để biết danh sách các ngôn ngữ được hỗ trợ).

Java

Sử dụng thư viện ứng dụng 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

Dùng thư viện ứng dụng 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

1.199

Sử dụng thư viện ứng dụng 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

Sử dụng thư viện ứng dụng hồng ngọc.

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?

Hãy dùng thử!

Hãy sử dụng APIs Explorer bên dưới để gọi phương thức này trên dữ liệu trực tiếp và xem phản hồi.