将Outlook日历集成到网站/其他

时间:2012-02-04 14:59:56

标签: php sharepoint icalendar zend-gdata

当用户将事件添加到在线日历时,他们也可以添加到Outlook日历中(同步)。显然,使用PHP构建的站点无法直接与桌面应用程序集成,因此我正在寻找其他选择。

我找到的选项:

  • 使用PHP ICAL库创建.ics文件,用户可以下载并安装。不是最友好的用户方式,可能会有效。
  • 使用SharePoint或交换服务器 - 但以前没有使用Microsoft技术的经验,因此不理想。
  • 使用Google日历和Zend Library(gdata),创建在线日历并向其添加事件。然后,使用Google Calendar Sync工具,用户可以将在线日历同步到Outlook。但问题是所有用户都需要一个Gmail帐户才能使用同步工具,当您在网站上拥有数千名用户时,这并不理想。除非我创建一个全局gmail帐户并在该帐户上创建许多日历,否则即使可能。

问题:

  1. 是否有任何可以实现此目的的付费或免费(理想情况下)的Outlook插件?
  2. 是否有可以实现此目标的Web服务/ API?
  3. 任何其他想法或解决方案?

4 个答案:

答案 0 :(得分:1)

您可以通过Outlook订阅在线日历来实现此目的。

使用phpicalendar,您可以让其他客户订阅您的日历(here

您可能想调整生成的.ics文件以包含X-PUBLISHED-TTL - 订阅日历的推荐更新间隔

答案 1 :(得分:1)

Office 365附带一个REST API,可用于读取/写入日历。 这是关于此的一些文档。 http://msdn.microsoft.com/office/office365/api/calendar-rest-operations

或者,EWS托管API可能能够帮助您:http://msdn.microsoft.com/en-us/library/office/dd633696(v=exchg.80).aspxhttp://msdn.microsoft.com/en-us/library/office/dd633702(v=exchg.80).aspx

答案 2 :(得分:0)

使用EWS交换webservice来实现此目的。 如果是一个没有的网站。对于用户,您需要在Exchange服务器中创建OU,并添加对DL中所有帐户具有读取权限的管理员用户。 EWS公开了端点,您可以在其中获取日历邮件添加读取并执行所有类型的操作。

答案 3 :(得分:0)

要获取日历事件,请按以下步骤操作:

  1. 登录日历
  2. 在工具栏上,单击“共享”
  3. 选择要导出/嵌入的日历。
  4. 点击获取链接。
  5. 在显示活动详情下(点击创建) 注意:如果已经执行了第5步,只需跳过它并单击链接到事件详细信息
  6. 复制您需要的链接并将其粘贴到所需的程序/网站上。