Liên kết để thêm vào lịch Google


115

Tôi không rõ về định dạng chính xác để có một liên kết trên trang web sẽ thêm một sự kiện vào lịch Google của người dùng. Tôi thấy rằng eventbrite đã làm được điều đó ở đây nhưng tôi rất thích một số thông số kỹ thuật hoặc liên kết rõ ràng theo đúng hướng

http://www.eventbrite.com/event/1289487893

http://screencast.com/t/6vvh1khS


1
Xem thêm câu hỏi và câu trả lời này: stackoverflow.com/q/22757908
Denilson Sá Maia

1
Tài liệu tham khảo như thế nào để chuyển đổi ngày sang định dạng cần thiết trong nhận xét này dưới đây: stackoverflow.com/questions/10488831/... (đã cho tôi một thời gian để nhận thấy những nhận xét)
Elijah Lofgren

Câu trả lời:


231

Đây là một liên kết ví dụ bạn có thể sử dụng để xem định dạng:

https://www.google.com/calendar/render?action=TEMPLATE&text=Your+Event+Name&dates=20140127T224000Z/20140320T221500Z&details=For+details,+link+here:+http://www.example.com&location=Waldorf+ Astoria, + 301 + Park + Ave +, + New + York, + NY + 10022 & sf = true & output = xml

Lưu ý các tham số truy vấn chính:

text
dates
details
location

Đây là một ví dụ khác (lấy từ http://wordpress.org/support/topic/direct-link-to-add-specific-google-calendar-event ):

<a href="http://www.google.com/calendar/render?
action=TEMPLATE
&text=[event-title]
&dates=[start-custom format='Ymd\\THi00\\Z']/[end-custom format='Ymd\\THi00\\Z']
&details=[description]
&location=[location]
&trp=false
&sprop=
&sprop=name:"
target="_blank" rel="nofollow">Add to my calendar</a>

Đây là một biểu mẫu sẽ giúp bạn tạo một liên kết như vậy nếu bạn muốn (được đề cập trong các câu trả lời trước đó):

https://support.google.com/calendar/answer/3033039 Chỉnh sửa: Liên kết này không còn cung cấp cho bạn biểu mẫu mà bạn có thể sử dụng


29
Lưu ý rằng bạn cũng có thể chỉ định một tham số múi giờ, ví dụ:ctz=America/New_York
Người dùng

23
Để chuyển đổi sang định dạng ngày giờ:(new Date()).toISOString().replace(/-|:|\.\d\d\d/g,"");
Trantor Liu

7
Liên kết trên là tốt cho máy tính để bàn. Đối với điện thoại di động, url tương tự là calendar.google.com/calendar/gp#~calendar:view=e&bm=1 và các thông số giống nhau.
Supreet Sethi

7
Bạn có thể tìm thấy danh sách đầy đủ các giá trị CTZ tại Danh sách múi giờ của cơ sở dữ liệu tz
Marco Lackovic

6
@ IvánSánchez trả lời muộn nhưng, ký tự 'Z' ở cuối tham số 'ngày tháng' sẽ đặt thời gian tương đương theo UTC - vì vậy có thể sẽ sai múi giờ của bạn. Thả chữ 'Z' vào cuối mỗi ngày và bạn sẽ thấy thời gian hiển thị đúng khu vực. dates=20140127T224000/20140320T221500
Jarvis Johnson


5

Tôi cũng đã thành công với cấu trúc URL này:

URL cơ sở:

https://calendar.google.com/calendar/r/eventedit?

Và giả sử đây là chi tiết sự kiện của tôi:

Title: Event Title
Description: Example of some description. See more at /programming/10488831/link-to-add-to-google-calendar
Location: 123 Some Place
Date: February 22, 2020
Start Time: 10:00am
End Time: 11:30am
Timezone: America/New York (GMT -5)

Tôi muốn chuyển đổi chi tiết của mình thành các thông số này (URL được mã hóa):

text=Event%20Title
details=Example%20of%20some%20description.%20See%20more%20at%20https%3A%2F%2Fstackoverflow.com%2Fquestions%2F10488831%2Flink-to-add-to-google-calendar
location=123%20Some%20Place%2C%20City
dates=20200222T100000/20200222T113000
ctz=America%2FNew_York

Liên kết ví dụ:

https://calendar.google.com/calendar/r/eventedit?text=Event%20Title&details=Example%20of%20some%20description.%20See%20more%20at%20https%3A%2F%2Fstackoverflow.com%2Fquestions%2F10488831 % 2Flink-to-add-to-google-calendar & location = 123% 20Some% 20Place% 2C% 20City & days = 20200222T100000 / 20200222T113000 & ctz = America% 2FNew_York

Xin lưu ý rằng vì tôi đã chỉ định múi giờ với tham số "ctz", nên tôi đã sử dụng giờ địa phương cho ngày bắt đầu và ngày kết thúc. Ngoài ra, bạn có thể sử dụng ngày UTC và loại trừ tham số múi giờ, như sau:

dates=20200222T150000Z/20200222T163000Z

Liên kết ví dụ:

https://calendar.google.com/calendar/r/eventedit?text=Event%20Title&details=Example%20of%20some%20description.%20See%20more%20at%20https%3A%2F%2Fstackoverflow.com%2Fquestions%2F10488831 % 2Flink-to-add-to-google-calendar & location = 123% 20Some% 20Place% 2C% 20City & days = 20200222T150000Z / 20200222T163000Z


2

Đối với người tiếp theo trên Google về chủ đề này, tôi đã viết một gói NPM nhỏ để giúp việc tạo URL Lịch Google trở nên đơn giản. Nó bao gồm các định nghĩa kiểu TypeScript, dành cho những ai cần điều đó. Hy vọng nó giúp!

https://www.npmjs.com/package/google-calendar-url

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.