ลิงก์เพื่อเพิ่มลงใน Google ปฏิทิน


115

ฉันไม่ชัดเจนเกี่ยวกับรูปแบบที่แน่นอนที่จะมีลิงก์บนเว็บไซต์ที่จะเพิ่มเหตุการณ์เดียวให้กับผู้ใช้ Google ปฏิทิน ฉันเห็นว่า eventbrite ได้ทำที่นี่แล้ว แต่ฉันชอบสเปคหรือลิงค์ที่ชัดเจนในทิศทางที่ถูกต้อง

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

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


1
ดูคำถามและคำตอบนี้ด้วย: stackoverflow.com/q/22757908
Denilson Sá Maia

1
อ้างอิงวิธีการแปลงวันที่เป็นรูปแบบที่ต้องการในความคิดเห็นด้านล่างนี้: stackoverflow.com/questions/10488831/… (ใช้เวลาสักครู่เพื่อสังเกตความคิดเห็น)
Elijah Lofgren

คำตอบ:


232

นี่คือลิงค์ตัวอย่างที่คุณสามารถใช้เพื่อดูรูปแบบ:

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

สังเกตพารามิเตอร์การสืบค้นที่สำคัญ:

text
dates
details
location

นี่คืออีกตัวอย่างหนึ่ง (นำมาจาก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>

นี่คือแบบฟอร์มที่จะช่วยคุณสร้างลิงค์ดังกล่าวหากคุณต้องการ (กล่าวถึงในคำตอบก่อนหน้านี้):

https://support.google.com/calendar/answer/3033039 แก้ไข: ลิงก์นี้ไม่ได้ให้แบบฟอร์มที่คุณสามารถใช้ได้อีกต่อไป


29
โปรดทราบว่าคุณสามารถระบุพารามิเตอร์โซนเวลาได้เช่นctz=America/New_York
ผู้ใช้

23
ในการแปลงเป็นรูปแบบวันที่และเวลา:(new Date()).toISOString().replace(/-|:|\.\d\d\d/g,"");
Trantor Liu

7
ลิงก์ด้านบนเหมาะสำหรับเดสก์ท็อป สำหรับ URL ที่คล้ายกันบนมือถือคือcalendar.google.com/calendar/gp#~calendar:view=e&bm=1และพารามิเตอร์จะเหมือนกัน
Supreet Sethi

7
คุณสามารถดูรายการค่า CTZ ทั้งหมดได้ที่รายการโซนเวลาฐานข้อมูล tz
Marco Lackovic

6
@ IvánSánchezตอบช้า แต่ 'Z' ที่ท้ายพารามิเตอร์ 'วันที่' จะกำหนดเวลาที่เท่ากันใน UTC ดังนั้นอาจจะผิดสำหรับเขตเวลาของคุณ วาง 'Z' ในตอนท้ายของแต่ละวันและคุณจะพบเวลาที่แสดงในโซนที่ถูกต้อง dates=20140127T224000/20140320T221500
Jarvis Johnson

19

มีเอกสารที่ครอบคลุมสำหรับ Google ปฏิทินและบริการปฏิทินอื่น ๆ : https://github.com/InteractionDesignFoundation/add-event-to-calendar-docs/blob/master/services/google.md

ตัวอย่างลิงค์การทำงาน: https://calendar.google.com/calendar/render?action=TEMPLATE&text=Bithday&dates=20201231T193000Z/20201231T223000Z&details=With%20clowns%20and%20stuff&location=North%20Pole


5

ฉันยังประสบความสำเร็จกับโครงสร้าง URL นี้:

URL ฐาน:

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

สมมติว่านี่คือรายละเอียดกิจกรรมของฉัน:

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)

ฉันจะแปลงรายละเอียดของฉันเป็นพารามิเตอร์เหล่านี้ (เข้ารหัส URL):

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

ลิงค์ตัวอย่าง:

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 & date = 20200222T100000 / 20200222T113000 & ctz = อเมริกา% 2FNew_York

โปรดทราบว่าเนื่องจากฉันได้ระบุเขตเวลาด้วยพารามิเตอร์ "ctz" ฉันจึงใช้เวลาท้องถิ่นสำหรับวันที่เริ่มต้นและวันที่สิ้นสุด หรือคุณสามารถใช้วันที่ UTC และยกเว้นพารามิเตอร์เขตเวลาได้เช่นนี้:

dates=20200222T150000Z/20200222T163000Z

ลิงค์ตัวอย่าง:

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 & date = 20200222T150000Z / 20200222T163000Z


2

สำหรับบุคคลถัดไปที่ใช้ Googling หัวข้อนี้ฉันได้เขียนแพ็คเกจ NPM ขนาดเล็กเพื่อให้สร้าง URL ของ Google ปฏิทินได้อย่างง่ายดาย ประกอบด้วยคำจำกัดความประเภท TypeScript สำหรับผู้ที่ต้องการสิ่งนั้น หวังว่าจะช่วยได้!

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.