Dave帖子中的链接很棒。只是为了将有关google链接的一些技术细节放入此处的答案中:
Google日历链接
<a href="http://www.google.com/calendar/event?action=TEMPLATE&text=Example%20Event&dates=20131124T010000Z/20131124T020000Z&details=Event%20Details%20Here&location=123%20Main%20St%2C%20Example%2C%20NY">Add to gCal</a>
参数为:
- action = TEMPLATE(必填)
- 文本(事件的URL编码名称)
- 日期(ISO日期格式,开始日期/结束日期-必须同时具有开始时间和结束时间-按钮生成器可让您将结束时间留空,但必须有一个结束时间,否则它将无法工作。)
- 使用用户的时区:20131208T160000 / 20131208T180000
- 使用全球时间,转换为UTC,然后使用20131208T160000Z / 20131208T180000Z
- 一整天都可以使用20131208/20131209-请注意,按钮生成器将其弄错了。您必须将以下日期用作全天活动的结束日期,或者将+1天设置为您希望的结束日期。
- 详细信息(URL编码的事件描述/详细信息)
- 位置(事件的URL编码位置-确保它是Google地图可以轻松读取的地址)
2018年2月更新:
这是一个新的链接结构,该结构似乎支持不要求API交互的新google版本的Google日历,但没有:
https://calendar.google.com/calendar/r/eventedit?text=My+Custom+Event&dates=20180512T230000Z/20180513T030000Z&details=For+details,+link+here:+https://example.com/tickets-43251101208&location=Garage+Boston+-+20+Linden+Street+-+Allston,+MA+02134
新的基本网址: https://calendar.google.com/calendar/r/eventedit
新参数:
- 文字(事件名称)
- 日期(ISO日期格式,开始日期/结束日期-必须同时具有开始时间和结束时间)
- 带有开始/结束时间的事件:20131208T160000 / 20131208T180000
- 一整天的活动,您可以使用20131209分之20131208 -结束日期必须为+1天到你想要的结束日期是什么。
- ctz(时区,例如America / New_York-留空以使用用户的默认时区。强烈建议在几乎所有情况下都包含此默认时区。例如,视频会议提醒:如果三个人在不同时区中单击此链接并设置了提醒他们在“星期二”上午10:00进行“自有”,效果不佳。)
- 详细信息(URL编码的事件描述/详细信息)
- 位置(事件的URL编码位置-确保它是Google地图可以轻松读取的地址)
- 添加(用逗号分隔的电子邮件列表-将邀请对象添加到您的新活动中)
笔记:
- 上面的旧网址结构现在重定向到此处
- 支持https
- 带时区的交易更好
- 接受
+
空间,除了%20
(urlencode
vsrawurlencode
在PHP中-都可以)