EWS: how to get the subject from free/busy

Dear all,

unfortunately I did not find a solution from the other threads.

I'd like to create activity reports for a group if users, so I need to get their calendar entries to create a time line very similar to Outlooks Calendar view for a team. We already implemented a share free/busy hsaring policy so I can view this for a team from Outlooks default calendar view.

If you had a look to the xxx's team it will display you the free/busy information (?) view, reporting start and end dates for a meetings as well as the subject of the meeting. Obviously you do not need more permissions that free/busy with subject to get a view like that in Outlook.

I tried the same using the EWS managed API using a statement like

service.GetUserAvailability(attendees, new TimeWindow(start, end, AvailabilityData.FreeBusyAndSuggestions, availabilityOptions);

which will return a list of free/busy information, but the subject is missing. On the other hand, the findinfolders method returned an "Access denied" if you are sharing free/busy only and you do not grant additional permission.

How to receive the subject for a meeting in this situation?

Thanks for your response,

Martin

June 30th, 2015 10:36pm

Free/busy service, as the name suggested, only provide the status (free/busy/tentative/OOO etc). It does not provide any details about the calendar event. If you need that info, the owners need to share out their calendar.
Free Windows Admin Tool Kit Click here and download it now
July 1st, 2015 1:16am

Hi Li,

thank you for your post.

If you share only Free / Busy with subject, and you go and create a new Meeting in Outlook 2010 + Outlook 2013, the Meeting assistant (the view within the Meeting item that showed the free/busy) also Displays the subject for your participants.

Obviously it is not required to share additional mailbiox permissions (!) if you are using Outlook.

If you're right and that Meeting subject property is not available when using GetUserAvailability , which method do I need to use to get the same result? Unfortunately it's no Option to me to require to share additional permissions - as my users will tell me that Outlook is able to view it, so permission is already set up properly.

Any idea which method to use to get the same result?
Thanks.

Martin

July 1st, 2015 2:17am

You need to post the whole code your using not just one method call.

In your availability options you need to use either the Detailed or DetailedMerged enumeration see https://msdn.microsoft.com/en-us/library/office/exchangewebservices.freebusyviewtype(v=exchg.150).aspx which list which properties will be returned for each Enum value you use.

Cheers
Glen

Free Windows Admin Tool Kit Click here and download it now
July 1st, 2015 2:19am

First of all, Exchange availability service (aka free/busy) is different from calendar sharing.

Obviously, Outlook itself looks not only the availability service, it also access shared calendar. The subject should be retrieved from shared calendar but not free/busy.

Back to your coding, I guess the method GetUserAvailability access only availability service. You may need to invoke other method to access the shared calendar in order to retrieve the subject.

July 1st, 2015 2:41am

>> Obviously, Outlook itself looks not only the availability service, it also access shared calendar. The subject should be retrieved from shared calendar but not free/busy.

 I'm sorry Li Zhen but that is just plain wrong, the availability service from Exchange 2007 includes the feature of providing both the Subject and Location of appointment via the GetUserAvailability operation . This is why the limtied details permissins exists http://blogs.technet.com/b/outlooking/archive/2010/01/13/free-busy-and-calendar-permissions-in-outlook-2007-running-against-exchange-2007-or-later.aspx

As long as you have the Limited Details permission on the Calendar your querying then then the appointment details will be returned in the  CalendarEventDetails array eg check the sample in https://msdn.microsoft.com/en-us/library/office/aa564001(v=exchg.150).aspx which shows using the GetUserAvailability and getting the Subject and Location back

Cheers
Glen

Free Windows Admin Tool Kit Click here and download it now
July 2nd, 2015 7:56am

>> Obviously, Outlook itself looks not only the availability service, it also access shared calendar. The subject should be retrieved from shared calendar but not free/busy.

 I'm sorry Li Zhen but that is just plain wrong, the availability service from Exchange 2007 includes the feature of providing both the Subject and Location of appointment via the GetUserAvailability operation . This is why the limtied details permissins exists http://blogs.technet.com/b/outlooking/archive/2010/01/13/free-busy-and-calendar-permissions-in-outlook-2007-running-against-exchange-2007-or-later.aspx

As long as you have the Limited Details permission on the Calendar your querying then then the appointment details will be returned in the  CalendarEventDetails array eg check the sample in https://msdn.microsoft.com/en-us/library/office/aa564001(v=exchg.150).aspx which shows using the GetUserAvailability and getting the Subject and Location back

Cheers
Glen

  • Marked as answer by Gudel, Martin Thursday, July 02, 2015 7:24 PM
July 2nd, 2015 11:54am

Hi,

Glen is right.

If you set availabilityOptions to .Details, you can get Subject etc. from the enumeration items properties.

This worked for me.

Thanks, Glen.

Regards,

Martin

Free Windows Admin Tool Kit Click here and download it now
July 2nd, 2015 3:28pm

I have an Exchange 2013 lab on hand and I just tested the free/busy time,subject,location option.

The article stated 'when opening your Calendar folder, he will not see anything'. But in my lab, 'he' CAN see 'your' calendar items.

Unfortunately, what the article said was not true, or at least it does not apply to Exchange 2013.

July 3rd, 2015 2:09am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics