Top Banner
Module 4: Hooking into Office 365 APIs Office DEVCamp – Los Angeles Registration for Los Angeles June 16 2015 http:// aka.ms/O365campLA
26

O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Aug 07, 2015

Download

Internet

Ivan Sanders
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Module 4: Hooking into Office 365 APIs

Office DEVCamp – Los Angeles

Registration for Los Angeles June 16 2015http://aka.ms/O365campLA

Page 2: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Course Agenda

Office Camp

Module 1: Introduction to the Day

Module 2: Setting up the Environments

Module 3: Hooking into Apps for SharePoint

Module 4: Hooking into Office 365 APIs

Module 5: Hooking into Apps for Office

Module 6: Hooking into SharePoint APIs with Android

Page 3: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Hook into Office 365 APIs

Ivan SandersSharePoint MVP/[email protected]@iasanders

Page 4: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

IntroductionConnecting Calendar, Mail, and ContactsConnecting OneDrive for BusinessConnecting SharePoint Sites

Agenda

Page 5: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Introduction

Page 6: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Office 365 Device Apps

Page 7: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Included in Office 365 Subscription

Users & Groups managed in Office 365 PortalChanges persisted in Azure AD

Azure Active Directory (Azure AD)

Page 8: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Single auth flow for Office 365Azure AD Graph, Exchange, SharePointDevice apps and web sitesAdmin and end-user consent

Secure protocolOAuth 2.0No capturing user credentialsFine-grained access scopesSupports MFA and federated user sign-inLong-term access through refresh tokens

Azure AD OAuth in Office 365

Page 9: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

9

Application TypesCustom developedThird-party, published in the gallery

Office 365 SharePoint, ExchangeDynamics CRMThousands of others

Custom ApplicationsWeb Application and/or WebAPI Native Client

Application Registration

Page 10: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Returns a collection of endpoints specific to current user

Intended as the starting point for application1. Sign-In2. Get authorized3. Discover endpoints for resource4. Get Token5. Access resource

API Libraries simplify necessary code

O365 Discovery Service

Page 11: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

11

Connected Services in Visual Studio

Page 12: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Connecting Calendar, Mail, and Contacts

Page 13: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

13

Office 365 APIs for Calendar, Mail and Contacts Office 365 APIs

Mail Message API Calendar Events API Contacts API

Office 365 APIs accessible through REST https://outlook.office365.com/api/v1.0/Me/Messages https://outlook.office365.com/api/v1.0/Me/Events https://outlook.office365.com/api/v1.0/Me/Contacts

Office 365 APIs accessible through

OutlookServicesClient A library which abstracts away sending and receiving REST request

Page 14: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

14

Mail Messages Common API operations

Reading messages Deleting messages Sending messages Working with attachments

Message

Page 15: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

15

Calendar Events Common API operations

Reading events for specific date range Creating events Deleting events Editing events

Event

Page 16: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Contacts Common API operations

Reading contacts Searching for contacts Creating contacts Deleting contacts Editing events

16

Contact

Page 17: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

17

Coding the Discovery Service

Page 18: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

18

Retrieving Contacts

Page 19: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

19

Important scenario for apps

Open ID Connect Protocol

OWIN Middleware

Azure AD Authentication Library

GitHub Sample

Single Sign-On, Multi-Tenant

Page 20: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Connecting OneDrive for Business

Page 21: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

21

OneDrive for Business

A personal library for storing and organizing your work documents

Page 22: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

22

Discovery Service discovers “MyFiles” capabilityReturns tenant and user-specific URL for user’s OneDrive for Business

SharePointClient.Files abstracts Files API

SharePointClient class

Page 23: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

Connecting SharePoint Sites

Page 24: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

24

Access the SharePoint REST API with the Access Token

SharePoint Sites

Page 25: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

IntroductionConnecting Calendar, Mail, and ContactsConnecting OneDrive for BusinessConnecting SharePoint Sites

Summary

Page 26: O365 DEVCamp Los Angeles June 16, 2015 Module 04 Hook into Office 365 APIs

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.