我正在为这家夜总会工作,目前正在为他们建立一个网站,他们有很多活动,他们的网站围绕各种活动建立了很多,今天他们为每个活动制作了一个facebook活动,但是拥有一个“添加到我的日历“按钮,将其添加到您的iCal或Google日历(甚至可能是Outlook)。
我已经设法弄清楚如何制作日历源,但随后它将被添加为新的日历,唯一的好处是人们可以“订阅事件”但是每个事件都有一个日历是非常混乱的。所以我想知道如何实现一个功能,让他们轻松地将它添加到他们的主日历。想想像mailto:链接,但是如果可能的话,可以用于日历。
此外,如果有人知道是否有可能自动将Facebook中的事件导入WordPress或将事件从WordPress导出到Facebook,那将是很好的,但这并不是那么重要。
更新(免费供个人使用): HTTPS现在已经支持了
虽然我在下面详细说明了每项服务的方法,但IMO现在更容易与像AddThisEvent [https://addthisevent.com]这样的第三方合作。它允许您自定义许多选项以及添加到Facebook等。不幸的是,他们现在已经将其作为个人使用以外的任何其他服务而付费服务,并强制执行此操作。
我假设还有其他类似的第三方解决方案,但我只能说这个,到目前为止它对我们有用。
对于“添加到我的Google日历”,他们曾经使用过您可以使用的代码生成器表单,但此后又将其删除了。有关Google日历链接的更多详细信息,请参阅squarecandy's answer below。
对于Outlook来说,这是一个更复杂的BIT,但基本上你需要用事件的数据创建一个.vcs
文件,并只需要链接到该文件。 Step-by-step instructions here。
对于iCal链接,您可以使用PHP类like this one,或关注如何创建this page's instructions文件(iCal文件)的ics
。
戴夫的帖子中的链接很棒。只是将关于谷歌链接的一些技术细节放到SO上的答案:
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>
参数是:
这是一个新的链接结构,似乎支持谷歌日历的新谷歌版本,无需API交互:
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
新参数:
笔记:
+
in php - 都工作)要添加到squarecandy的谷歌日历贡献,这里是全新的
OUTLOOK CALENDAR格式(无需创建.ics)!!
%20
urlencode
最好的方法是对摘要,位置和描述变量的值进行url_encode。
为了知识,
YAHOO CALENDAR格式
rawurlencode
<a href="https://bay02.calendar.live.com/calendar/calendar.aspx?rru=addevent&dtstart=20151119T140000Z&dtend=20151119T160000Z&summary=Summary+of+the+event&location=Location+of+the+event&description=example+text.&allday=false&uid=">add to Outlook calendar</a>
在没有第三方的情况下进行此操作具有很多优势,例如在电子邮件中使用它。
这是一个test it服务,用于添加事件
网站和日历上的事件的“添加到日历”按钮易于安装,与语言无关,时区和DST兼容。它适用于所有现代浏览器,平板电脑和移动设备,以及Apple Calendar,Google Calendar,Outlook,Outlook.com和Yahoo Calendar。
<a href="https://calendar.yahoo.com/?v=60&view=d&type=20&title=Summary+of+the+event&st=20151119T090000&et=20151119T110000&desc=example+text.%0A%0AThis+is+the+text+entered+in+the+event+description+field.&in_loc=Location+of+the+event&uid=">add to Yahoo calendar</a>
正如您所说,订阅您的活动日历的好处是您可以更改日期/时间/信息,它们应该反映在您的订阅者中。为什么要为每个事件而不是一个事件创建单独的日历?
您熟悉Google日历和Facebook的API吗?
至于最后一个问题,你打算在Wordpress和Facebook上维护两个独立的事件源吗?你可以让Wordpress从Facebook获取Feed。也许某种发布到Facebook的事件CMS然后更新Wordpress提要?
您可以让程序创建日历的.ics(iCal)版本,然后您可以将此.ics导入到您喜欢的任何日历程序中:Google,Outlook等。
我知道这篇文章很老了,所以我不打算输入任何代码。但如果您希望我提供如何执行此操作的大纲,请对此发表评论。