Cập nhật một sự kiện. Phương thức này không hỗ trợ ngữ nghĩa bản vá và luôn cập nhật toàn bộ tài nguyên sự kiện. Để cập nhật một phần, hãy thực hiện get
, theo sau là update
bằng cách sử dụng etags để đảm bảo tính nguyên tử.
Thử ngay hoặc xem ví dụ.
Yêu cầu
Yêu cầu HTTP
PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
Thông số
Tên thông số | Giá trị | Mô tả |
---|---|---|
Thông 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 hiện đã đăng nhập, hãy sử dụng từ khoá "primary ".
|
eventId |
string |
Giá trị nhận dạng sự kiện. |
Thông số truy vấn không bắt buộc | ||
alwaysIncludeEmail |
boolean |
Ngừng sử dụng và bị bỏ qua. Hệ thống sẽ luôn trả về một giá trị trong trường email cho người tổ chức, nhà sáng tạo và người tham dự, ngay cả khi không có địa chỉ email thực (tức là hệ thống sẽ cung cấp một giá trị được tạo và không hoạt động).
|
conferenceDataVersion |
integer |
Số phiên bản của dữ liệu hội nghị mà ứng dụng API hỗ trợ. Phiên bản 0 giả định không hỗ trợ dữ liệu hội nghị và bỏ qua dữ liệu hội nghị trong nội dung của sự kiện. Phiên bản 1 hỗ trợ việc sao chép ConferenceData cũng như tạo hội nghị mới bằng cách sử dụng trường createRequest của conferenceData. Giá trị mặc định là 0.
Giá trị có thể chấp nhận là từ 0 đến 1 .
|
maxAttendees |
integer |
Số lượng người tham dự tối đa cần đưa vào nội dung phản hồi. Nếu có nhiều hơn số người tham dự được chỉ định, thì chỉ người tham gia mới được trả về. Không bắt buộc. |
sendNotifications |
boolean |
Không dùng nữa. Vui lòng sử dụng sendUpdates. Có gửi thông báo về nội dung cập nhật sự kiện hay không (ví dụ: thay đổi nội dung mô tả, v.v.). Xin lưu ý rằng một số email vẫn có thể được gửi ngay cả khi bạn đặt giá trị thành false . Giá trị mặc định là false .
|
sendUpdates |
string |
Những khách sẽ nhận được thông báo về nội dung cập nhật của sự kiện (ví dụ: thay đổi tên, v.v.).
Các giá trị được chấp nhận là:
|
supportsAttachments |
boolean |
Liệu ứng dụng API thực hiện thao tác có hỗ trợ tệp đính kèm sự kiện hay không. Không bắt buộc. Giá trị mặc định là False. |
Ủy quyền
Yêu cầu này yêu cầu 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 |
https://www.googleapis.com/auth/calendar.events |
https://www.googleapis.com/auth/calendar.app.created |
https://www.googleapis.com/auth/calendar.events.owned |
Để 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
Trong phần nội dung yêu cầu, hãy cung cấp tài nguyên Sự kiện với các thuộc tính sau:
Tên tài sản | Giá trị | Mô tả | Ghi chú |
---|---|---|---|
Thuộc tính bắt buộc | |||
end |
nested object |
Thời gian kết thúc (không bao gồm) của sự kiện. Đối với sự kiện định kỳ, đây là thời gian kết thúc của phiên bản đầu tiên. | |
start |
nested object |
Thời gian bắt đầu (bao gồm cả thời gian kết thúc) của sự kiện. Đối với sự kiện định kỳ, đây là thời gian bắt đầu của thực thể đầu tiên. | |
Thuộc tính không bắt buộc | |||
anyoneCanAddSelf |
boolean |
Liệu mọi người có thể tự mời mình tham gia sự kiện hay không (không dùng nữa). Không bắt buộc. Giá trị mặc định là False. | writable |
attachments[].fileUrl |
string |
Đường liên kết URL đến tệp đính kèm. Để thêm tệp đính kèm trên Google Drive, hãy sử dụng định dạng giống như trong thuộc tính Bắt buộc khi thêm tệp đính kèm. |
writable |
attendees[] |
list |
Những người tham dự sự kiện. Hãy xem hướng dẫn về Sự kiện có người tham dự để biết thêm thông tin về cách lên lịch sự kiện với những người dùng khác trên lịch. Tài khoản dịch vụ cần sử dụng tính năng uỷ quyền trên toàn miền để điền danh sách người tham dự. | writable |
attendees[].additionalGuests |
integer |
Số lượng khách bổ sung. Không bắt buộc. Giá trị mặc định là 0. | writable |
attendees[].comment |
string |
Bình luận phản hồi của người tham dự. Không bắt buộc. | writable |
attendees[].displayName |
string |
Tên của người tham dự (nếu có). Không bắt buộc. | writable |
attendees[].email |
string |
Địa chỉ email của người tham dự, nếu có. Trường này phải có sẵn khi thêm người tham dự. Đây phải là địa chỉ email hợp lệ theo RFC5322. Bắt buộc khi thêm người tham dự. |
writable |
attendees[].optional |
boolean |
Liệu đây có phải là khách mời không bắt buộc hay không. Không bắt buộc. Giá trị mặc định là False. | writable |
attendees[].resource |
boolean |
Người tham dự có phải là tài nguyên hay không. Bạn chỉ có thể đặt khi thêm người tham dự vào sự kiện lần đầu tiên. Các nội dung sửa đổi tiếp theo sẽ bị bỏ qua. Không bắt buộc. Giá trị mặc định là False. | writable |
attendees[].responseStatus |
string |
Trạng thái phản hồi của người tham dự. Các giá trị có thể có là:
|
writable |
attendeesOmitted |
boolean |
Liệu người tham dự có bị bỏ qua trong nội dung trình bày về sự kiện hay không. Khi truy xuất một sự kiện, điều này có thể là do một quy định hạn chế do tham số truy vấn maxAttendee chỉ định. Khi cập nhật một sự kiện, bạn có thể sử dụng thuộc tính này để chỉ cập nhật câu trả lời của người tham gia. Không bắt buộc. Giá trị mặc định là False. |
writable |
colorId |
string |
Màu của sự kiện. Đây là mã nhận dạng tham chiếu đến một mục trong phần event của định nghĩa màu (xem điểm cuối màu). Không bắt buộc. |
writable |
conferenceData |
nested object |
Thông tin liên quan đến hội nghị, chẳng hạn như thông tin chi tiết về một hội nghị trên Google Meet. Để tạo thông tin chi tiết mới về hội nghị, hãy sử dụng trường createRequest . Để duy trì các thay đổi, hãy nhớ đặt tham số yêu cầu conferenceDataVersion thành 1 cho tất cả các yêu cầu sửa đổi sự kiện. |
writable |
description |
string |
Mô tả về sự kiện. Có thể chứa HTML. Không bắt buộc. | writable |
end.date |
date |
Ngày, ở định dạng "yyyy-mm-dd", nếu đây là sự kiện diễn ra cả ngày. | writable |
end.dateTime |
datetime |
Thời gian, dưới dạng giá trị ngày-giờ kết hợp (được định dạng theo RFC3339). Bạn phải chỉ định độ lệch múi giờ trừ phi bạn chỉ định rõ múi giờ trong timeZone . |
writable |
end.timeZone |
string |
Múi giờ mà thời gian được chỉ định. (Được định dạng dưới dạng tên Cơ sở dữ liệu múi giờ IANA, ví dụ: "Europe/Zurich".) Đối với sự kiện định kỳ, bạn phải điền vào trường này và chỉ định múi giờ mà sự kiện định kỳ được mở rộng. Đối với sự kiện diễn ra một lần, trường này là không bắt buộc và cho biết múi giờ tuỳ chỉnh cho thời điểm bắt đầu/kết thúc sự kiện. | writable |
extendedProperties.private |
object |
Các thuộc tính chỉ dành riêng cho bản sao của sự kiện xuất hiện trên lịch này. | writable |
extendedProperties.shared |
object |
Các thuộc tính được chia sẻ giữa các bản sao của sự kiện trên lịch của những người tham dự khác. | writable |
focusTimeProperties |
nested object |
Dữ liệu sự kiện Thời gian cần tập trung. Được dùng nếu eventType là focusTime . |
writable |
gadget.display |
string |
Chế độ hiển thị của tiện ích. Không dùng nữa. Các giá trị có thể có là:
|
writable |
gadget.height |
integer |
Chiều cao của tiện ích tính bằng pixel. Chiều cao phải là một số nguyên lớn hơn 0. Không bắt buộc. Không dùng nữa. | writable |
gadget.iconLink |
string |
URL của biểu tượng tiện ích. Giao thức URL phải là HTTPS. Không dùng nữa. | writable |
gadget.link |
string |
URL của tiện ích. Giao thức URL phải là HTTPS. Không dùng nữa. | writable |
gadget.preferences |
object |
Tùy chọn. | writable |
gadget.title |
string |
Tiêu đề của tiện ích. Không dùng nữa. | writable |
gadget.type |
string |
Loại tiện ích. Không dùng nữa. | writable |
gadget.width |
integer |
Chiều rộng của tiện ích tính bằng pixel. Chiều rộng phải là một số nguyên lớn hơn 0. Không bắt buộc. Không dùng nữa. | writable |
guestsCanInviteOthers |
boolean |
Liệu những người tham dự khác ngoài người tổ chức có thể mời người khác tham gia sự kiện hay không. Không bắt buộc. Giá trị mặc định là True. | writable |
guestsCanModify |
boolean |
Liệu người tham dự khác với người tổ chức có thể sửa đổi sự kiện hay không. Không bắt buộc. Giá trị mặc định là False. | writable |
guestsCanSeeOtherGuests |
boolean |
Những người tham dự khác ngoài người tổ chức có thể xem những người tham dự sự kiện hay không. Không bắt buộc. Giá trị mặc định là True. | writable |
location |
string |
Vị trí địa lý của sự kiện dưới dạng văn bản dạng tự do. Không bắt buộc. | writable |
originalStartTime.date |
date |
Ngày, ở định dạng "yyyy-mm-dd", nếu đây là sự kiện diễn ra cả ngày. | writable |
originalStartTime.dateTime |
datetime |
Thời gian, dưới dạng giá trị ngày-giờ kết hợp (được định dạng theo RFC3339). Bạn phải chỉ định độ lệch múi giờ trừ phi bạn chỉ định rõ múi giờ trong timeZone . |
writable |
originalStartTime.timeZone |
string |
Múi giờ mà thời gian được chỉ định. (Được định dạng dưới dạng tên Cơ sở dữ liệu múi giờ IANA, ví dụ: "Europe/Zurich".) Đối với sự kiện định kỳ, bạn phải điền vào trường này và chỉ định múi giờ mà sự kiện định kỳ được mở rộng. Đối với sự kiện diễn ra một lần, trường này là không bắt buộc và cho biết múi giờ tuỳ chỉnh cho thời điểm bắt đầu/kết thúc sự kiện. | writable |
outOfOfficeProperties |
nested object |
Dữ liệu sự kiện không có mặt tại văn phòng. Được dùng nếu eventType là outOfOffice . |
writable |
recurrence[] |
list |
Danh sách các dòng RRULE, EXRULE, RDATE và EXDATE cho một sự kiện định kỳ, như được chỉ định trong RFC5545. Xin lưu ý rằng bạn không được phép sử dụng dòng DTSTART và DTEND trong trường này; thời gian bắt đầu và kết thúc sự kiện được chỉ định trong trường start và end . Trường này bị bỏ qua đối với các sự kiện đơn lẻ hoặc các phiên bản của sự kiện định kỳ. |
writable |
reminders.overrides[] |
list |
Nếu sự kiện không sử dụng lời nhắc mặc định, thì trường này sẽ liệt kê các lời nhắc dành riêng cho sự kiện đó hoặc nếu không được đặt, thì trường này sẽ cho biết rằng không có lời nhắc nào được đặt cho sự kiện này. Số lời nhắc ghi đè tối đa là 5. | writable |
reminders.overrides[].method |
string |
Phương thức mà lời nhắc này sử dụng. Các giá trị có thể có là:
Bắt buộc khi thêm lời nhắc. |
writable |
reminders.overrides[].minutes |
integer |
Số phút trước khi bắt đầu sự kiện mà lời nhắc sẽ kích hoạt. 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. |
writable |
reminders.useDefault |
boolean |
Liệu lời nhắc mặc định của lịch có áp dụng cho sự kiện hay không. | writable |
sequence |
integer |
Số thứ tự theo iCalendar. | writable |
source.title |
string |
Tiêu đề của nguồn; ví dụ: tiêu đề của một trang web hoặc tiêu đề email. | writable |
source.url |
string |
URL của nguồn trỏ đến một tài nguyên. Giao thức URL phải là HTTP hoặc HTTPS. | writable |
start.date |
date |
Ngày, ở định dạng "yyyy-mm-dd", nếu đây là sự kiện diễn ra cả ngày. | writable |
start.dateTime |
datetime |
Thời gian, dưới dạng giá trị ngày-giờ kết hợp (được định dạng theo RFC3339). Bạn phải chỉ định độ lệch múi giờ trừ phi bạn chỉ định rõ múi giờ trong timeZone . |
writable |
start.timeZone |
string |
Múi giờ mà thời gian được chỉ định. (Được định dạng dưới dạng tên Cơ sở dữ liệu múi giờ IANA, ví dụ: "Europe/Zurich".) Đối với sự kiện định kỳ, bạn phải điền vào trường này và chỉ định múi giờ mà sự kiện định kỳ được mở rộng. Đối với sự kiện diễn ra một lần, trường này là không bắt buộc và cho biết múi giờ tuỳ chỉnh cho thời điểm bắt đầu/kết thúc sự kiện. | writable |
status |
string |
Trạng thái của sự kiện. Không bắt buộc. Các giá trị có thể có là:
|
writable |
summary |
string |
Tiêu đề sự kiện. | writable |
transparency |
string |
Liệu sự kiện có chặn thời gian trên lịch hay không. Không bắt buộc. Các giá trị có thể có là:
|
writable |
visibility |
string |
Mức hiển thị của sự kiện. Không bắt buộc. Các giá trị có thể có là:
|
writable |
workingLocationProperties |
nested object |
Dữ liệu sự kiện về địa điểm làm việc. | writable |
workingLocationProperties.customLocation |
object |
Nếu có, hãy chỉ định rằng người dùng đang làm việc ở một vị trí tuỳ chỉnh. | writable |
workingLocationProperties.customLocation.label |
string |
Một nhãn bổ sung không bắt buộc để cung cấp thêm thông tin. | writable |
workingLocationProperties.homeOffice |
any value |
Nếu có, hãy chỉ định rằng người dùng đang làm việc tại nhà. | writable |
workingLocationProperties.officeLocation |
object |
Nếu có, hãy chỉ định rằng người dùng đang làm việc tại văn phòng. | writable |
workingLocationProperties.officeLocation.buildingId |
string |
Giá trị nhận dạng tòa nhà (không bắt buộc). Mã này phải tham chiếu đến mã toà nhà trong cơ sở dữ liệu Tài nguyên của tổ chức. | writable |
workingLocationProperties.officeLocation.deskId |
string |
Mã nhận dạng bàn làm việc (không bắt buộc). | writable |
workingLocationProperties.officeLocation.floorId |
string |
Giá trị nhận dạng tầng (không bắt buộc). | writable |
workingLocationProperties.officeLocation.floorSectionId |
string |
Giá trị nhận dạng phần sàn (không bắt buộc). | writable |
workingLocationProperties.officeLocation.label |
string |
Tên văn phòng xuất hiện trong ứng dụng Lịch trên web và thiết bị di động. Bạn nên tham chiếu tên toà nhà trong cơ sở dữ liệu Tài nguyên của tổ chức. | writable |
workingLocationProperties.type |
string |
Loại địa điểm làm việc. Các giá trị có thể có là:
Bắt buộc khi thêm thuộc tính địa điểm làm việc. |
writable |
Phản hồi
Nếu thành công, phương thức này sẽ trả về một tài nguyên Sự kiện trong phần nội dung phản hồi.
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; // ... // Initialize Calendar service with valid OAuth credentials Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials) .setApplicationName("applicationName").build(); // Retrieve the event from the API Event event = service.events().get("primary", "eventId").execute(); // Make a change event.setSummary("Appointment at Somewhere"); // Update the event Event updatedEvent = service.events().update("primary", event.getId(), event).execute(); System.out.println(updatedEvent.getUpdated());
Python
Sử dụng thư viện ứng dụng Python.
# First retrieve the event from the API. event = service.events().get(calendarId='primary', eventId='eventId').execute() event['summary'] = 'Appointment at Somewhere' updated_event = service.events().update(calendarId='primary', eventId=event['id'], body=event).execute() # Print the updated date. print updated_event['updated']
PHP
Sử dụng thư viện ứng dụng PHP.
// First retrieve the event from the API. $event = $service->events->get('primary', 'eventId'); $event->setSummary('Appointment at Somewhere'); $updatedEvent = $service->events->update('primary', $event->getId(), $event); // Print the updated date. echo $updatedEvent->getUpdated();
Ruby
Sử dụng thư viện ứng dụng Ruby.
event = client.get_event('primary', 'eventId') event.summary = 'Appointment at Somewhere' result = client.update_event('primary', event.id, event) print result.updated
Hãy dùng thử!
Sử dụng Trình khám phá API 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.