11
votes

When the users add events to the online calendar they also can be added to the outlook calendar (synchronize). Obviously a site built using PHP can not integrate with desktop application directly, so I am looking alternative options.

Options I found:

  • Using PHP ICAL library creates an .ics file and the user can download it and install. Not the most user friendly way of doing it, might work.
  • Use SharePoint or exchange server- but have no previous experience working Microsoft technologies, so it not ideal.
  • Use Google Calendar and Zend Library (gdata), create online calendar and add events to that. Then using Google Calendar Sync tool the user can sync the online calendar to outlook. But the problem here is the all users need a gmail account to use the Sync tool, it not ideal when you have thousands of users on the site. Unless I create one global gmail account and create many calendars on that account, if that even possible.

Questions:

  1. Are there any outlook plug-ins paid or free (ideally) that can achieve this?
  2. Are there any web service/ APIs that can achieve this?
  3. Any other ideas or solutions?
4
I looked into this for a Java app (scheduling meetings from a web app to an Exchange Server). You technically aren't integrating with Outlook; it's the mail server that syncs to the (Outlook) client, probably an Exchange server, or an IMAP/POP system running something else that Outlook can sync to. That's what you need to look into. Also note, at least last year Microsoft didn't make sending meeting/appointment requests from outside MS technologies very easy. You might look for an intermediary SOAP/REST pass-through.Jared Farrish
Exchange Web Services (EWS) CreateItem (Calendar Item) and operations.Jared Farrish

4 Answers

2
votes

Office 365 comes with an REST API that can be used to read/write to calendars. Here's some documentation on this. http://msdn.microsoft.com/office/office365/api/calendar-rest-operations

Alternatively, the EWS Managed API might be able to help you: http://msdn.microsoft.com/en-us/library/office/dd633696(v=exchg.80).aspx and http://msdn.microsoft.com/en-us/library/office/dd633702(v=exchg.80).aspx

1
votes

you could do this by having the outlook subscribe to the online calendar.

with phpicalendar you can have other clients subscribe to your calendars (here)

you may want to tweak the generated .ics file to include X-PUBLISHED-TTL - Recommended update interval for subscription to the calendar

0
votes

Use EWS exchange webservice to achieve this. If it is a website with a no. of users u will need to create OU in exchange server and add a admin user who has read permissions to all accounts in the DL. EWS exposes endpoints where in u can fetch the calendar mail add read and do all kind of operations.

0
votes

To get the calender event follow these step:

  1. Sign in to Calendar
  2. On the toolbar, click Share
  3. Select the calendar that you want to export/embed.
  4. Click Get a link.
  5. Under Show event details (click Create) Note: If step number 5 is already performed, just skip it and click Link to event details
  6. Copy the link that you needed and paste it on the desired program/website.