0
votes

I want to create a (php) web application where the calendar entries for a specific office 365 user is shown. One should be able to visit the site and see these entries, without having to log in.

My company does not yet have a azure subscription, so i created one with my hotmail address (in case this is relevant).

When researching how to do this, I keep seeing references to setting Application Permissions to Office 365 Exchange Online, such as described here: https://msdn.microsoft.com/en-us/office/office365/howto/building-service-apps-in-office-365 under Defining permissions.

I've registered a web application in Azure AD, and uploaded a x509 certificate in the manifest. When I try to add Application Permissions to read calendar entries, all I can find is Office 365 unified API (preview), which has no Application permissions!

Permissions to other applications

In the Delegated Permissions for Office 365 unified API (preview) I find the equivalent of what I'm looking for, namely the setting Read signed-in user's calendars. But as I understand, service/daemon applications need application permissions, not delegated permissions.

TL;DR: I want my service/daemon app to access user's calendars. I cannot find any application permissions available for office 365 unified api (preview), and office 365 exchange online does not exist in the list.

2

2 Answers

0
votes

Office 365 Unified API doesn't yet support service/daemon app access but we are really close to supporting it. In the mean time, you can use Outlook APIs to accomplish your scenario. The endpoint is https://outlook.office.com/api/v1.0. When you register your app, add application permissions (read or read/write based on your scenarios) as shown in the picture. That should enable you to use client credential flow to access other user's calendars.

enter image description here

0
votes

So, the Office 365 Exchange Online application i wanted my service/daemon application have rights to (Calendar.read and Calendar.write) don't ship with Azure by default. To get it, I need to subscribe to it (the business subscription, not home):

Office 365 Exchange Online

The Office 365 Unified API does ship with Azure, but as Venkat Ayyadevara says, this application does not support daemon/service apps (yet!).