[ #Office365 ] What’s new for Developers in 2015 and beyond

This was one of the (multiple) major announces made at /Build 2015 (and detailed afterward at MS Ignite) the introduction of an Office 365 unified API.

I wanted here to give an overview of the news in this area because it’s really important to understand the impact of this even if you are not a developer. The goal of this post is to describe at a high level the roadmap around this API and to point to some of the most interesting resources.

We will cover 5 points:

  1. Platform architecture and the Office 365 unified API
  2. The components accessible via Office 365 unified API
  3. Connecting via Office 365 unified API
  4. Graph API
  5. Roadmap

1. Platform architecture and the Office 365 unified API

It can be summarized by this picture (from Office 365 unified API overview):

Office 365 unified API developer stack.

In Microsoft own words,

The Office 365 unified API exposes multiple APIs from Microsoft cloud services through a single REST API endpoint. By using the Office 365 unified API, you can turn your formerly difficult or complex queries into simple navigations. The API exposes information about productivity entities and the relationships among them, to enable rich navigation in data through one REST URL namespace (https://graph.microsoft.com), using one authentication and authorization system, and using a consistent and unified metadata, payload format, error handling, library, and more.

The great words here are unifying a previously multiple API, and simplifying especially the authentication steps.

In case you didn’t see this quote yet I put it here to reiterate the message Sourire

image

 

2. The components accessible via Office 365 unified API

Currently, the unified API supports programmatic access to the following components of Office 365:

  • Azure AD
  • Exchange
  • SharePoint
  • Yammer
  • OneNote

Here is how they appear in Azure AD:

image

As far as the entities you can manage are concerned here is the detailed picture;Office 365 unified API currently available entities.

Users

The User entity provides you access to user information, such as display name, job title, profile photo, and so on.

Groups The Group entity provides you access to groups that a user belongs to, management of groups and group data. In addition you can get access to group’s content.
Files The File entity represents file storage and management. These are OneDrive for Business files for the user. The Files entity gives you access to a user’s files, and folders and allows you to interact with file data. You can use it to access and manipulate contents and documents
Mail Use the Mail entity to read compose and send messages and attachments, view and respond to event messages, and manage folders in a user’s mailbox. You can use query parameters to filter messages and folders in the user’s mailbox
Calendar The Calendar entity provides access to events, calendars, and calendar groups. You use it to interact with calendar data.
Organizational Contacts The Contact entity provides access to contact data and contact folders
Note: Currently only contact data for organization is available. Personal contact data will be available soon.

More entities will be added to Office 365 unified API in the future, for example, feeds, instant messaging, notes, tasks and so forth. Developers will be able to extend the API by adding:

  • new properties to existing entities
  • new relationships between existing entities
  • new entity types

In time, Office 365 unified API will replace the need for the individual service APIs.

Before the introduction of the unified API, there ware (and they are still there) at least 8 different API:

image

without speaking about Office 365 Management APIs, already mentioned on my previous post.

Hence come the great plus of the API, unifying the way you access Office 365 data.

image

You can also find great O365 REST API samples here: http://aka.ms/o365apis (or https://o365apisdemo.azurewebsites.net/)

And test code here: https://apisandbox.msdn.microsoft.com/

 

3. Connecting via Office 365 unified API

A great benefit of the unified API is that you only have to connect once the Office 365 to get access to all the components

The supported protocols are Open ID connect on OAuth 2.0.

A description of the flow can be found here at 9:44:

image

4. Graph API

Here is another great schema about the Unified API and its links with the Office Graph:

image

Here is also a summary of the type of data and actions we have in the Office Graph

image

And how they are related in a typical action:

image

Office Graph extensibility was also announced at /Build and summarized below. On the right, it is the corresponding schema in the documentation. This is also detailed here: [ #Office365 ] Delve news at MS Ignite, part 1: the journey.

imageOffice_graph_concepts_future_extensibility

 

Among the main news at Build was the introduction of two new relationships (or “edges”) in the graph:

  • WorkingWith — People whom you frequently interact with.
  • TrendingAround — Items that are popular in your circle of colleagues.

More detailed on this here:

5. Roadmap

Here the roadmap announced at MS Ignite:

image

and here is my interpretation of it: Sourire

image

Sources:

 

Leave a comment