21
Deep Dive into Mobile Development with Office 365 Chakkaradeep (Chaks) Chandran Program Manager Office Developer Tools http://www.chakkaradeep.com

Deep Dive Mobile Development with Office 365

Embed Size (px)

DESCRIPTION

With the release of the Office 365 APIs Preview and the Android SDK, the future of Mobile business applications that leverage the Office 365 services is very bright! This session will deep dive into how to build an app that can be delivered to iOS, Android and Windows Phone leveraging cross platform application templates in Visual Studio and Office 365 APIs.

Citation preview

Page 1: Deep Dive Mobile Development with Office 365

Deep Dive into Mobile Development with Office 365 Chakkaradeep (Chaks) ChandranProgram ManagerOffice Developer Toolshttp://www.chakkaradeep.com

Page 2: Deep Dive Mobile Development with Office 365

Agenda• Office 365 APIs• Office 365 API Tool

for Visual Studio• Office 365 SDKs• Demos

Page 3: Deep Dive Mobile Development with Office 365

Office 365 APIs

Page 4: Deep Dive Mobile Development with Office 365

Office 365 APIs

• Simple REST/OData Service APIs• Expose Files, Sites, Mail, Calendar and Users• Available now for SharePoint, Exchange, Azure

Active Directory (AD)• Part of Azure AD Common Consent Framework• Supports Azure AD OAuth

Outlook Calendar People

OneDriveUsers Sites

Page 5: Deep Dive Mobile Development with Office 365

Azure AD OAuth in Office 365 APIs

• Single auth flow for O365• Azure AD Graph, Exchange, SharePoint• Device apps and web sites• Admin and end-user consent

• Secure protocol• OAuth 2.0• No capturing user credentials• Fine-grained access scopes• Supports MFA and federated user sign-in• Long-term access through refresh tokens

Page 6: Deep Dive Mobile Development with Office 365

Office 365 Discovery Services• Automatically determine URL of Office 365 services• Supports device app and web site flows• Secured using Azure AD authentication• Serves information stored about services in AAD

Page 7: Deep Dive Mobile Development with Office 365

Office 365 APIs != CSOMAzure AD Common Consent != ACS

Page 8: Deep Dive Mobile Development with Office 365

Office 365 API Tool

Page 9: Deep Dive Mobile Development with Office 365

Choose Your Platform

• Native

• Cross Platform

*coming soon

Page 10: Deep Dive Mobile Development with Office 365

Choose Your Platform

Native - Rich

• Rich user experience• Access to native device

capabilities• Platform specific code• Native Development Tools• Xamarin for Visual Studio

Web - Reach

Modern web (HTML5)

• Quick development loop• Cross browser capabilities• Limited access to native

hardware

• Cross-device and platforms – Android, iOS, Windows Phone

• Leverage device capabilities through plugins

• Limited by the pace of browsers

• Multi-device Hybrid Applications in Visual Studio

HTML

Hybrid

Page 11: Deep Dive Mobile Development with Office 365

Office 365 API Tool for Visual Studio

2. Click to select service permissions.

3.Select service permissions.

4. Click OK to submit your changes.

1.. Select a service.

http://aka.ms/office365apitoolspreview

Page 12: Deep Dive Mobile Development with Office 365

Supported Projects in Visual Studio• .NET Store Applications

• .NET Windows Store Apps• .NET Windows Phone 8.1 Apps• .NET Universal Apps for

Windows

• ASP.NET Web Applications• MVC Web Applications• Web Forms Applications

• Desktop Applications• WPF Applications• Windows Forms

• Cross Platform Applications• Xamarin iOS and Android Apps• Multi-device Hybrid App

(Cordova)

Page 13: Deep Dive Mobile Development with Office 365

Office 365 API SDKs

Page 14: Deep Dive Mobile Development with Office 365

Office 365 API SDKs• Azure Active Directory Library (AAD

Graph)

• Office 365 .NET Libraries• Office 365 Authentication Library• Office 365 Exchange Library• Office 365 SharePoint Library

• Office 365 Library for Multi-device Hybrid Apps

• Office 365 SDK for Android (GitHub)

Page 15: Deep Dive Mobile Development with Office 365

Authentication to Office 365 APIs

Page 16: Deep Dive Mobile Development with Office 365

Authentication to Office 365 APIs using Resource IdNative Application

Azure AD Authorization

Endpoint

Azure AD Token

Endpoint Office 365 API

Request authorization code

Sign-in via browser pop-up

Return authorization code

Redeem authorization code and acquire access token for Office 365 resource

Return access token and refresh token

Return Http Response

Call Office 365 API using the access token

Page 17: Deep Dive Mobile Development with Office 365

Authentication to Office 365 APIs using Discovery ServiceNative Application

Azure AD Authorization

Endpoint

Azure AD Token

Endpoint Office 365 API

Request authorization code for discovery service

Sign-in via browser pop-up

Return authorization code

Redeem authorization code and acquire access token for discovery service

Return access token and refresh token

Call discovery service

Return Resource Ids and Endpoint URI for all Office 365 services

Redeem refresh token to get access token for desired Office 365 resource

Return Http Response

Call Office 365 API using the URI from the discovery service and access token

Return access token and refresh token

Page 18: Deep Dive Mobile Development with Office 365

Authenticating using SDKs• Create the Office 365 Discovery Context

• Authenticate by using Resource Id or Discovery Service

• Create the respective service client by acquiring the access token for the resource from the service

• Interact with the service

Page 19: Deep Dive Mobile Development with Office 365

Demo:Building Office 365 AppsChakkaradeep (Chaks) Chandran

Page 20: Deep Dive Mobile Development with Office 365

Calls to action

Office 365 API Toolshttp://aka.ms/o365apitoolspreview

Office Developer ToolsIncluded in Visual Studio 2013

Office GitHubhttps://github.com/OfficeDev

Building Multi-Platform Hybrid Appshttp://aka.ms/mdhaExplore our MSDN libraryhttp://dev.office.com

Page 21: Deep Dive Mobile Development with Office 365

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.