Tạo một sự kiện. Thử ngay hoặc xem ví dụ.
Yêu cầu
Yêu cầu HTTP
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events
Thông 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 hiện đã đăng nhập, hãy sử dụng từ khóa "primary ".
|
Tham số truy vấn không bắt buộc | ||
conferenceDataVersion |
integer |
Số phiên bản của dữ liệu hội nghị được ứng dụng API hỗ trợ. Phiên bản 0 giả định không hỗ trợ dữ liệu hội nghị truyền hình và bỏ qua dữ liệu hội nghị trong phần nội dung của sự kiện. Phiên bản 1 cho phép hỗ trợ việc sao chép kéo dài sự kiện SummitData, cũng như hỗ trợ việc tạo hội nghị mới bằng cách sử dụng trường createRequest củaconferenceData. Giá trị mặc định là 0.
Các giá trị được chấp nhận là từ 0 đến 1 (bao gồm cả hai giá trị này).
|
maxAttendees |
integer |
Số người tham dự tối đa được đưa vào phản hồi. Nếu nhiều hơn số người tham dự đã chỉ định, thì chỉ người tham gia được trả về. Không bắt buộc. |
sendNotifications |
boolean |
Không dùng nữa. Thay vào đó, vui lòng sử dụng sendUpdates. Liệu có gửi thông báo về việc tạo sự kiện mới hay không. Xin lưu ý rằng một số email có thể vẫn được gửi ngay cả khi bạn đặt giá trị thành false . Giá trị mặc định là false .
|
sendUpdates |
string |
Liệu có gửi thông báo về việc tạo sự kiện mới hay không. Xin lưu ý rằng một số email có thể vẫn được gửi. Mặc định là false .
Các giá trị có thể 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 cần được 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 |
Để 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 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ị | Nội dung mô tả | Ghi chú |
---|---|---|---|
Thuộc tính bắt buộc | |||
end |
nested object |
Thời gian kết thúc (độc quyền) của sự kiện. Đối với sự kiện định kỳ, đây là thời gian kết thúc của lần xuất hiện đầu tiên. | |
start |
nested object |
Thời gian bắt đầu (bao gồm) sự kiện. Đối với một sự kiện định kỳ, đây là thời gian bắt đầu của lần xuất hiện đầu tiên. | |
Thuộc tính không bắt buộc | |||
anyoneCanAddSelf |
boolean |
Liệu bất kỳ ai cũng có thể mời chính mình tham gia sự kiện (không dùng nữa). Không bắt buộc. Giá trị mặc định là False. | có thể ghi |
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. |
có thể ghi |
attendees[] |
list |
Người tham dự sự kiện. Xem hướng dẫn Sự kiện với 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 lịch khác. 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ự. | có thể ghi |
attendees[].additionalGuests |
integer |
Số lượng khách bổ sung. Không bắt buộc. Giá trị mặc định là 0. | có thể ghi |
attendees[].comment |
string |
Nhận xét về phản hồi của người tham dự. Không bắt buộc. | có thể ghi |
attendees[].displayName |
string |
Tên của người tham dự (nếu có). Không bắt buộc. | có thể ghi |
attendees[].email |
string |
Địa chỉ email của người tham dự (nếu có). Trường này phải xuất hiện khi thêm người tham dự. Đó phải là địa chỉ email hợp lệ theo tiêu chuẩn RFC5322. Bắt buộc khi thêm người tham dự. |
có thể ghi |
attendees[].optional |
boolean |
Đây có phải là người tham dự không bắt buộc hay không. Không bắt buộc. Giá trị mặc định là False. | có thể ghi |
attendees[].resource |
boolean |
Liệu người tham dự có phải là một tài nguyên hay không. Chỉ có thể thiết lập khi người tham dự được thêm vào sự kiện lần đầu tiên. Các lần sửa đổi tiếp theo sẽ bị bỏ qua. Không bắt buộc. Giá trị mặc định là False. | có thể ghi |
attendees[].responseStatus |
string |
Trạng thái phản hồi của người tham dự. Các giá trị có thể sử dụng là:
|
có thể ghi |
colorId |
string |
Màu của sự kiện. Đây là mã nhận dạng tham chiếu đến một mục nhập trong phần event của định nghĩa màu (xem điểm cuối của màu). Không bắt buộc. |
có thể ghi |
conferenceData |
nested object |
Thông tin liên quan đến hội nghị truyền hình, chẳng hạn như thông tin chi tiết về một hội nghị truyền hình trên Google Meet. Để tạo thông tin chi tiết mới về hội nghị truyền hình, 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. |
có thể ghi |
description |
string |
Mô tả về sự kiện. Có thể chứa HTML. Không bắt buộc. | có thể ghi |
end.date |
date |
Ngày, ở định dạng "yyyy-mm-dd", nếu đây là sự kiện cả ngày. | có thể ghi |
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 múi giờ được chỉ định rõ trong timeZone . |
có thể ghi |
end.timeZone |
string |
Múi giờ mà bạn chỉ định thời gian. (Định dạng dưới dạng tên Cơ sở dữ liệu múi giờ IANA, ví dụ: "Châu Âu/Zurich".) Đối với các sự kiện lặp lại, trường này là bắt buộc và chỉ định múi giờ mà sự kiện lặp lại được mở rộng. Đối với sự kiện đơn lẻ, trường này là trường không bắt buộc và cho biết múi giờ tuỳ chỉnh cho sự kiện bắt đầu/kết thúc. | có thể ghi |
eventType |
string |
Loại cụ thể của sự kiện. Bạn không thể sửa đổi chế độ này sau khi tạo sự kiện. Các giá trị có thể sử dụng là:
|
có thể ghi |
extendedProperties.private |
object |
Những thuộc tính dành riêng cho bản sao của sự kiện xuất hiện trên lịch này. | có thể ghi |
extendedProperties.shared |
object |
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. | có thể ghi |
focusTimeProperties |
nested object |
Dữ liệu sự kiện Thời gian cần tập trung. Được sử dụng nếu eventType là focusTime . |
có thể ghi |
gadget.display |
string |
Chế độ hiển thị của tiện ích. Không dùng nữa. Các giá trị có thể sử dụng là:
|
có thể ghi |
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. | có thể ghi |
gadget.iconLink |
string |
URL biểu tượng của tiện ích. Lược đồ URL phải là HTTPS. Không dùng nữa. | có thể ghi |
gadget.link |
string |
URL của tiện ích. Lược đồ URL phải là HTTPS. Không dùng nữa. | có thể ghi |
gadget.preferences |
object |
Tùy chọn. | có thể ghi |
gadget.title |
string |
Tên của tiện ích. Không dùng nữa. | có thể ghi |
gadget.type |
string |
Loại tiện ích. Không dùng nữa. | có thể ghi |
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. | có thể ghi |
guestsCanInviteOthers |
boolean |
Liệu những người tham dự không phải là 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. Lựa chọn mặc định là True. | có thể ghi |
guestsCanModify |
boolean |
Liệu những người tham dự không phải là 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. | có thể ghi |
guestsCanSeeOtherGuests |
boolean |
Liệu những người tham dự không phải là người tổ chức có thể biết người tham dự sự kiện là ai hay không. Không bắt buộc. Lựa chọn mặc định là True. | có thể ghi |
id |
string |
Giá trị nhận dạng mờ của sự kiện. Khi tạo một sự kiện đơn hoặc sự kiện định kỳ mới, bạn có thể chỉ định mã nhận dạng của các sự kiện đó. Mã nhận dạng được cung cấp phải tuân thủ các quy tắc sau:
Nếu bạn không chỉ định mã nhận dạng, mã này sẽ được máy chủ tạo tự động. Lưu ý rằng |
có thể ghi |
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. | có thể ghi |
originalStartTime.date |
date |
Ngày, ở định dạng "yyyy-mm-dd", nếu đây là sự kiện cả ngày. | có thể ghi |
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 múi giờ được chỉ định rõ trong timeZone . |
có thể ghi |
originalStartTime.timeZone |
string |
Múi giờ mà bạn chỉ định thời gian. (Định dạng dưới dạng tên Cơ sở dữ liệu múi giờ IANA, ví dụ: "Châu Âu/Zurich".) Đối với các sự kiện lặp lại, trường này là bắt buộc và chỉ định múi giờ mà sự kiện lặp lại được mở rộng. Đối với sự kiện đơn lẻ, trường này là trường không bắt buộc và cho biết múi giờ tuỳ chỉnh cho sự kiện bắt đầu/kết thúc. | có thể ghi |
outOfOfficeProperties |
nested object |
Dữ liệu sự kiện không có mặt tại văn phòng. Được sử dụng nếu eventType là outOfOffice . |
có thể ghi |
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 các dòng DTSTART và DTEND không được phép trong trường này; thời gian bắt đầu và kết thúc sự kiện được chỉ định trong các trường start và end . Trường này bị bỏ qua đối với các sự kiện đơn lẻ hoặc bản sao của sự kiện định kỳ. |
có thể ghi |
reminders.overrides[] |
list |
Nếu sự kiện không sử dụng lời nhắc mặc định, thì lời nhắc sẽ liệt kê dành riêng cho sự kiện hoặc nếu không được đặt, 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. | có thể ghi |
reminders.overrides[].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à:
Bắt buộc khi thêm lời nhắc. |
có thể ghi |
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. |
có thể ghi |
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. | có thể ghi |
sequence |
integer |
Số thứ tự theo iLịch. | có thể ghi |
source.title |
string |
Tiêu đề của nguồn; ví dụ: tiêu đề của trang web hoặc chủ đề email. | có thể ghi |
source.url |
string |
URL của nguồn trỏ đến một tài nguyên. Lược đồ URL phải là HTTP hoặc HTTPS. | có thể ghi |
start.date |
date |
Ngày, ở định dạng "yyyy-mm-dd", nếu đây là sự kiện cả ngày. | có thể ghi |
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 múi giờ được chỉ định rõ trong timeZone . |
có thể ghi |
start.timeZone |
string |
Múi giờ mà bạn chỉ định thời gian. (Định dạng dưới dạng tên Cơ sở dữ liệu múi giờ IANA, ví dụ: "Châu Âu/Zurich".) Đối với các sự kiện lặp lại, trường này là bắt buộc và chỉ định múi giờ mà sự kiện lặp lại được mở rộng. Đối với sự kiện đơn lẻ, trường này là trường không bắt buộc và cho biết múi giờ tuỳ chỉnh cho sự kiện bắt đầu/kết thúc. | có thể ghi |
status |
string |
Trạng thái của sự kiện. Không bắt buộc. Các giá trị có thể sử dụng là:
|
có thể ghi |
summary |
string |
Tiêu đề sự kiện. | có thể ghi |
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ể sử dụng là:
|
có thể ghi |
visibility |
string |
Chế độ hiển thị của sự kiện. Không bắt buộc. Các giá trị có thể sử dụng là:
|
có thể ghi |
workingLocationProperties |
nested object |
Dữ liệu sự kiện địa điểm làm việc. | có thể ghi |
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. | có thể ghi |
workingLocationProperties.customLocation.label |
string |
Một nhãn bổ sung không bắt buộc để cung cấp thêm thông tin. | có thể ghi |
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à. | có thể ghi |
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. | có thể ghi |
workingLocationProperties.officeLocation.buildingId |
string |
Giá trị nhận dạng toà nhà (không bắt buộc). Mã này phải tham chiếu đến mã nhận dạng toà nhà trong cơ sở dữ liệu Tài nguyên của tổ chức. | có thể ghi |
workingLocationProperties.officeLocation.deskId |
string |
Giá trị nhận dạng không gian làm việc (không bắt buộc). | có thể ghi |
workingLocationProperties.officeLocation.floorId |
string |
Giá trị nhận dạng giá sàn không bắt buộc. | có thể ghi |
workingLocationProperties.officeLocation.floorSectionId |
string |
Giá trị nhận dạng mục sàn không bắt buộc. | có thể ghi |
workingLocationProperties.officeLocation.label |
string |
Tên văn phòng hiển thị trong ứng dụng Lịch trên web và ứng dụng 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. | có thể ghi |
workingLocationProperties.type |
string |
Loại địa điểm làm việc. Các giá trị có thể sử dụng là:
Bắt buộc khi thêm thuộc tính địa điểm làm việc. |
có thể ghi |
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 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.
// Refer to the Java quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/java // Change the scope to CalendarScopes.CALENDAR and delete any stored // credentials. Event event = new Event() .setSummary("Google I/O 2015") .setLocation("800 Howard St., San Francisco, CA 94103") .setDescription("A chance to hear more about Google's developer products."); DateTime startDateTime = new DateTime("2015-05-28T09:00:00-07:00"); EventDateTime start = new EventDateTime() .setDateTime(startDateTime) .setTimeZone("America/Los_Angeles"); event.setStart(start); DateTime endDateTime = new DateTime("2015-05-28T17:00:00-07:00"); EventDateTime end = new EventDateTime() .setDateTime(endDateTime) .setTimeZone("America/Los_Angeles"); event.setEnd(end); String[] recurrence = new String[] {"RRULE:FREQ=DAILY;COUNT=2"}; event.setRecurrence(Arrays.asList(recurrence)); EventAttendee[] attendees = new EventAttendee[] { new EventAttendee().setEmail("lpage@example.com"), new EventAttendee().setEmail("sbrin@example.com"), }; event.setAttendees(Arrays.asList(attendees)); EventReminder[] reminderOverrides = new EventReminder[] { new EventReminder().setMethod("email").setMinutes(24 * 60), new EventReminder().setMethod("popup").setMinutes(10), }; Event.Reminders reminders = new Event.Reminders() .setUseDefault(false) .setOverrides(Arrays.asList(reminderOverrides)); event.setReminders(reminders); String calendarId = "primary"; event = service.events().insert(calendarId, event).execute(); System.out.printf("Event created: %s\n", event.getHtmlLink());
Python
Sử dụng thư viện ứng dụng Python.
# Refer to the Python quickstart on how to setup the environment: # https://developers.google.com/calendar/quickstart/python # Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any # stored credentials. event = { 'summary': 'Google I/O 2015', 'location': '800 Howard St., San Francisco, CA 94103', 'description': 'A chance to hear more about Google\'s developer products.', 'start': { 'dateTime': '2015-05-28T09:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'end': { 'dateTime': '2015-05-28T17:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'recurrence': [ 'RRULE:FREQ=DAILY;COUNT=2' ], 'attendees': [ {'email': 'lpage@example.com'}, {'email': 'sbrin@example.com'}, ], 'reminders': { 'useDefault': False, 'overrides': [ {'method': 'email', 'minutes': 24 * 60}, {'method': 'popup', 'minutes': 10}, ], }, } event = service.events().insert(calendarId='primary', body=event).execute() print 'Event created: %s' % (event.get('htmlLink'))
1.199
Sử dụng thư viện ứng dụng PHP.
// Refer to the PHP quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/php // Change the scope to Google_Service_Calendar::CALENDAR and delete any stored // credentials. $event = new Google_Service_Calendar_Event(array( 'summary' => 'Google I/O 2015', 'location' => '800 Howard St., San Francisco, CA 94103', 'description' => 'A chance to hear more about Google\'s developer products.', 'start' => array( 'dateTime' => '2015-05-28T09:00:00-07:00', 'timeZone' => 'America/Los_Angeles', ), 'end' => array( 'dateTime' => '2015-05-28T17:00:00-07:00', 'timeZone' => 'America/Los_Angeles', ), 'recurrence' => array( 'RRULE:FREQ=DAILY;COUNT=2' ), 'attendees' => array( array('email' => 'lpage@example.com'), array('email' => 'sbrin@example.com'), ), 'reminders' => array( 'useDefault' => FALSE, 'overrides' => array( array('method' => 'email', 'minutes' => 24 * 60), array('method' => 'popup', 'minutes' => 10), ), ), )); $calendarId = 'primary'; $event = $service->events->insert($calendarId, $event); printf('Event created: %s\n', $event->htmlLink);
Ruby
Sử dụng thư viện ứng dụng Ruby.
event = Google::Apis::CalendarV3::Event.new( summary: 'Google I/O 2015', location: '800 Howard St., San Francisco, CA 94103', description: 'A chance to hear more about Google\'s developer products.', start: Google::Apis::CalendarV3::EventDateTime.new( date_time: '2015-05-28T09:00:00-07:00', time_zone: 'America/Los_Angeles' ), end: Google::Apis::CalendarV3::EventDateTime.new( date_time: '2015-05-28T17:00:00-07:00', time_zone: 'America/Los_Angeles' ), recurrence: [ 'RRULE:FREQ=DAILY;COUNT=2' ], attendees: [ Google::Apis::CalendarV3::EventAttendee.new( email: 'lpage@example.com' ), Google::Apis::CalendarV3::EventAttendee.new( email: 'sbrin@example.com' ) ], reminders: Google::Apis::CalendarV3::Event::Reminders.new( use_default: false, overrides: [ Google::Apis::CalendarV3::EventReminder.new( reminder_method: 'email', minutes: 24 * 60 ), Google::Apis::CalendarV3::EventReminder.new( reminder_method: 'popup', minutes: 10 ) ] ) ) result = client.insert_event('primary', event) puts "Event created: #{result.html_link}"
.NET
Sử dụng thư viện ứng dụng.NET.
// Refer to the .NET quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/dotnet // Change the scope to CalendarService.Scope.Calendar and delete any stored // credentials. Event newEvent = new Event() { Summary = "Google I/O 2015", Location = "800 Howard St., San Francisco, CA 94103", Description = "A chance to hear more about Google's developer products.", Start = new EventDateTime() { DateTime = DateTime.Parse("2015-05-28T09:00:00-07:00"), TimeZone = "America/Los_Angeles", }, End = new EventDateTime() { DateTime = DateTime.Parse("2015-05-28T17:00:00-07:00"), TimeZone = "America/Los_Angeles", }, Recurrence = new String[] { "RRULE:FREQ=DAILY;COUNT=2" }, Attendees = new EventAttendee[] { new EventAttendee() { Email = "lpage@example.com" }, new EventAttendee() { Email = "sbrin@example.com" }, }, Reminders = new Event.RemindersData() { UseDefault = false, Overrides = new EventReminder[] { new EventReminder() { Method = "email", Minutes = 24 * 60 }, new EventReminder() { Method = "sms", Minutes = 10 }, } } }; String calendarId = "primary"; EventsResource.InsertRequest request = service.Events.Insert(newEvent, calendarId); Event createdEvent = request.Execute(); Console.WriteLine("Event created: {0}", createdEvent.HtmlLink);
Go
Sử dụng thư viện ứng dụng Go.
// Refer to the Go quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/go // Change the scope to calendar.CalendarScope and delete any stored credentials. event := &calendar.Event{ Summary: "Google I/O 2015", Location: "800 Howard St., San Francisco, CA 94103", Description: "A chance to hear more about Google's developer products.", Start: &calendar.EventDateTime{ DateTime: "2015-05-28T09:00:00-07:00", TimeZone: "America/Los_Angeles", }, End: &calendar.EventDateTime{ DateTime: "2015-05-28T17:00:00-07:00", TimeZone: "America/Los_Angeles", }, Recurrence: []string{"RRULE:FREQ=DAILY;COUNT=2"}, Attendees: []*calendar.EventAttendee{ &calendar.EventAttendee{Email:"lpage@example.com"}, &calendar.EventAttendee{Email:"sbrin@example.com"}, }, } calendarId := "primary" event, err = srv.Events.Insert(calendarId, event).Do() if err != nil { log.Fatalf("Unable to create event. %v\n", err) } fmt.Printf("Event created: %s\n", event.HtmlLink)
JavaScript
Sử dụng thư viện ứng dụng JavaScript.
// Refer to the JavaScript quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/js // Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any // stored credentials. var event = { 'summary': 'Google I/O 2015', 'location': '800 Howard St., San Francisco, CA 94103', 'description': 'A chance to hear more about Google\'s developer products.', 'start': { 'dateTime': '2015-05-28T09:00:00-07:00', 'timeZone': 'America/Los_Angeles' }, 'end': { 'dateTime': '2015-05-28T17:00:00-07:00', 'timeZone': 'America/Los_Angeles' }, 'recurrence': [ 'RRULE:FREQ=DAILY;COUNT=2' ], 'attendees': [ {'email': 'lpage@example.com'}, {'email': 'sbrin@example.com'} ], 'reminders': { 'useDefault': false, 'overrides': [ {'method': 'email', 'minutes': 24 * 60}, {'method': 'popup', 'minutes': 10} ] } }; var request = gapi.client.calendar.events.insert({ 'calendarId': 'primary', 'resource': event }); request.execute(function(event) { appendPre('Event created: ' + event.htmlLink); });
Node.js
Dùng thư viện ứng dụng Node.js.
// Refer to the Node.js quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/node // Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any // stored credentials. var event = { 'summary': 'Google I/O 2015', 'location': '800 Howard St., San Francisco, CA 94103', 'description': 'A chance to hear more about Google\'s developer products.', 'start': { 'dateTime': '2015-05-28T09:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'end': { 'dateTime': '2015-05-28T17:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'recurrence': [ 'RRULE:FREQ=DAILY;COUNT=2' ], 'attendees': [ {'email': 'lpage@example.com'}, {'email': 'sbrin@example.com'}, ], 'reminders': { 'useDefault': false, 'overrides': [ {'method': 'email', 'minutes': 24 * 60}, {'method': 'popup', 'minutes': 10}, ], }, }; calendar.events.insert({ auth: auth, calendarId: 'primary', resource: event, }, function(err, event) { if (err) { console.log('There was an error contacting the Calendar service: ' + err); return; } console.log('Event created: %s', event.htmlLink); });
Hãy dùng thử!
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.