Where is the official documentation for Outlook programming "subscribe to an online calendar"?

Are there any official sources for programming an Outlook online calendar subscription "described in the link as

An online calendar subscription is a calendar that you download and view in Outlook. However, unlike a calendar snapshot, online calendar subscriptions are automatically updated.

I am using ASP.NET MVC and the DDay.iCal library . I could not create such a calendar. I need answers to specific questions. I'm tired of guessing. And I will not accept random code, links to outdated articles of the code project, or something else not authoritative.

The only specific information I have is that the URL should

  • start with webcal://
  • end with the name .ics

I need to create a unique and up-to-date calendar for each user, preferably every time Outlook checks the address. I want to avoid linking calendar updates to parts of the CRUD site. Therefore, I need to know some features of what Outlook accepts.

  • Is it possible to use a controller / action that returns a FileResult (or derivative: stream, content, path) to dynamically create a calendar when Outlook gets to the address?

  • Can I "fake" the ICS file part / URL file name by decorating an action, for example [ActionName("iCalFeed.ics")] ?

  • Can I use ActionLink to create a webcal link for an action, for example <%= Html.ActionLink("Connect to Outlook", "iCalFeed.ics", "Schedule", "webcal", null, null, null, null) %> ?

I tried some of these ad-hoc things, and Outlook loves to pop up and handle webcal links, but shows nothing and doesn't display error messages. Is there somewhere to dig Outlook web calendar import errors?

If there are no questions above, is there any other way to serve new content every time Outlook checks the address? I would prefer not to update the calendar in sync with CRUD operations on the site. This seems more complicated than necessary.

In any case, I also need to know which parts of the iCalendar Outlook specification require the correct “subscription” update. I imported the virtual ICS file as a regular “snapshot” with a minimum date, resume, and start and end location. But, apparently, there are several complex parts of the specification, for example

  • Do I need to install the METHOD method ( RFC2445 4.7.2)? I can’t even find a decent description of this property or the values ​​it takes (does it depend on the client?).

  • Do I need to track event identifiers and change their location based on my system CRUD operations? Or adds / removes / updates events from the calendar during the subsequent poll, good enough for Outlook to understand this? If I need to track, now I need to add the entire level of persistence and state awareness to the application.

  • If I'm tracking, I noticed in other SO questions that Outlook is really picky about the ORGANIZER property ... should it be an email address or not? A mailto: or just an address?

I'm at the end of my rope. I am ready to read the documentation if it answers questions about the actual creation of a website that generates proper calendar subscriptions. I did not find anything on MSDN except this weird conversion algorithm . And as far as I can tell, this is useless.

<h / "> To be clear, I can create an ICS base file for any user and run it manually in Outlook. I cannot get any of my web links to work at all.

<h / "> Are these other calendar RFCs included : iTIP and iMIP ?

+7
asp.net-mvc outlook icalendar
source share
2 answers

I have not yet found suitable documentation, but I have discovered some of the types of Outlook behavior. Regarding the webcal / ics Internet Calendar Subscription Requirement

  • Outlook can use the address http://
  • Outlook may use a route that does not end in .ics

You can try them yourself in Outlook | Open calendar | From the Internet. You probably still want to use the ActionLink / webcal link so that your browser prompts you to run an application that can handle the request.

As for the rest of the controller / action requirements ...

  • Outlook makes an anonymous request *
  • Outlook can take binary / stream / line FileResult a controller action

<h / "> * You probably need to explicitly allow anonymity for this route. On my system, I had to bypass my auth forms using the <location> with <allow users="?" /> . If you need security, take a look what Google does: they create a URL containing a GUID token for each user / calendar and ask you to protect it.

0
source share

Do I need to install the METHOD (RFC2445 method 4.7.2)? I can’t even find a worthy description of this property or the values ​​it takes (is it client specific?).

For methods, see WebDav and CalDav functions.

WebDAV Calendar Extensions (CalDAV

This document defines extensions to Distributed Web Edition and Versioning (WebDAV) to specify a standard way to access, manage, and share scheduling and scheduling data based on the iCalendar format. This document defines the "calendar access" function of CalDAV.


METHOD (RFC2445 4.7.2 Method)?

RFC 2445 was deprecated by RFC 5545, so you may be interested to know the differences between 5545 and 2445 so you can try to fit into the intersection of the two.


I'm at the end of my rope. I am ready to read the documentation if it answers questions about the actual creation of a website that generates proper calendar subscriptions.

All of these standards are supported by CalConnect , which has discussion lists that you can find.

Sorry, I could not be more helpful, since I have very little personal practical experience with Outlook, but there are many CalConnect related people who know all the little things interopiae.

+1
source share

All Articles