This is the first in a series of courses I am publishing to the Pluralsight catalog on the the Microsoft Office 365 APIs. The Office 365 APIs are a collection of multiple endpoints for different types of data within the Office 365 platform. These endpoints include Contacts, Calendar, Mail and Files (for OneDrive). When working with these different API endpoints, there are some common characteristics and requirements that you should be familiar with… and that is what this first course is all about. You can think of this course being the pre-requisite for all my other Office 365 API courses.
This first course, Office 365 APIs - Overview, Authentication and the Discovery Service, covers the common things you should know going into the Office 365 APIs. For example you’ll learn about the relationship between Office 365 and Azure Active Directory for the authentication story as well as how to create Azure AD apps and authenticate using either the raw HTTP requests or using the APIs Microsoft provides. On the topic of authentication, you’ll see how OAuth 2.0 & OpenID Connect factor into the story as well as how to leverage both user+app and app-only permissions. Finally you will see how to call the Discovery Service to see what services the current user has rights to.
This course will introduce developers to the Office 365 APIs, a new set of APIs that will be constantly improved and updated by Microsoft. These APIs will be used by developers to access and interact with an enterprises’ data in Office 365, specifically mail, contacts, calendar and files… but this list will grow over time. All four of the endpoints provided in the Office 365 APIs share common characteristics such as the tooling, authentication, interaction with Azure AD and discovery service. This course will serve as the starting point for all other Office 365 API courses.
In this first brief module of the course you will learn what the course is all about and the learning objectives that you will accomplish by the end of the course. After starting out with an introduction to the course you will see how this course fits into my other Office 365 API courses. Finally, because the Office 365 are promised to be updated frequently, you will see where you can learn how to get the most updated information between course updates.
This module will first start out explaining the high-level concepts of the Office 365 APIs and common characteristics between different endpoints. Then a brief overview of some fundamental technologies that the APIs are built on such as REST, OData & Azure Active Directory. This module will also explain the different tools and platforms available in creating custom applications that use the Office 365 APIs from the REST APIs, native SDKs for Windows, iOS, Android and tools available for multi-device options such as Xamrain and Cordova.
This module will cover the relationship of users and apps between Azure AD and Office 365, explaining how Office 365 relies on Azure AD for the hosting of all users for authentication as well as for apps. It will show how to create apps in Azure AD using the Azure Management Portal web interface as well as how to do this using the wizard in Visual Studio included in the Office 365 API tools. This model will also contain a discussion on comparing & contrasting SharePoint app model vs. the Azure AD module for apps. Finally, the concept of single vs. multi tenant apps will be explained.
A fundamental concept that developers must understand in working with the Office 365 APIs is creating how authentication works with Azure AD. In this module the viewer will learn how to obtain an access token that will be used to authenticate and consume the Office 365 APIs. They will also learn about the different types of permissions in Office 365 and how to configure them in Azure AD. Finally, the viewer will also learn about the different technologies available that they can use to authenticate and the code used to authenticate.
In this module you will create an ASP.NET MVC web application and Azure Active Directory application. Then you will customize the web application to hook the OWIN authentication process into the ASP.NET MVC pipeline for user authentication. When complete, you will have project that you can use as the starting point for all future Office 365 API projects.
Because Office 365 APIs support a multi-tenant environment, the endpoints can change not only between tenants but also between users. To help with this Microsoft created the Office 365 Discovery Service which will return a list of all the endpoints the user has access to as well as the specific URI used to access it.