Andrew Coates Advanced Windows 10 development with the Office 365 APIs DEV33 5.

Slides:



Advertisements
Similar presentations
Introducing Xamarin 2.0 Introducing Xamarin 2.0 Michael Hutchinson
Advertisements

Jan Peterson Microsoft Dynamics CRM Mobility Update - Productivity on the Go PRD24 1.
Jordan Knight Developing for the Microsoft Band MOB342.
Cloud Roadshow. Getting Started with Office add-ins.
Cloud Roadshow. Getting Started with mobile app development with the Office 365 APIs.
Andrew Hennessy Automating Server Application migrations to the Cloud – Goodbye Server INF21 3.
Kevin Francis Developing on Windows Devices ARC33 2.
Chris Hewitt Adding magic to your business with Perceptual Intelligence ARC323 B.
Matt McSpirit Software-defined Networking in Windows Server 2016 INF32 4.
Vakhtang Assatrian Asia Communications TSP Lead, Microsoft Architecture options for implementing Skype for Business PRD32 7.
Creating highly available and resilient Microservices on Microsoft Azure Service Fabric
Cloud Roadshow. Getting Started with the Office 365 APIs.
Jeff Alexander & Andrew McMurray Runtime Provisioning in Windows 10 WIN327.
Michael Niehaus Using the Windows Store for Business: New Capabilities for Managing Apps in the Enterprise WIN335.
Jessica Payne Microsoft Global Incident Response and Recovery
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Mike James Building a cross-platform pedometer app with Xamarin & Azure MOB334.
Lars Klint Adaptive UX - A Single UI for Everything MOB234.
James Bannan Freddy vs JSON: Azure Resource Manager CLD44 3.
Nick Application Development for the Universal Windows Platform MOB225.
Alec Tucker An Introduction to Cross Platform Native App Development using Xamarin to Develop, Test and Monitor MOB227.
Orin Thomas 30 Bad Habits of Server Administrators INF32 3.
Fai Lai Global IoT Tech Specialist, C+E Specialist Sales Seamless communication between devices and Azure IoT Hub via Azure IoT Protocol Gateway MOB31.
Ryan Newington From Fortran to FIM: Dragging your identity management system out of the dark ages WIN332 B.
Kevin Francis Big Building Blocks – a tour of Dynamics ARC323 A.
James Bannan The Cloud That Chuck Norris Built: Resilient Architecture in Azure ARC44 3.
0 Developing for Windows 10 Tony Champion Champion DS.
Martina Grom MVP Office 365 How to (remote) control Office 365 with Azure Toni Pohl MVP Client Dev
Redmond Protocols Plugfest 2016 Tristan Davis Office Developer Platform Overview Principal Group Program Manager.
A deep dive into Azure AD B2C
1/10/2018 9:33 PM Cloud Roadshow © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO.
Making of the Ignite Bot
Introduction to ASP.NET Core
The Zen of Package Management
Microsoft Ignite /10/2018 3:38 AM
Office 365 Developer Overview
Building Business Application with Office 365 and Other Line Business Systems
9/11/ :51 AM Cloud Roadshow © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO.
6/17/2018 5:54 AM OSP322 Getting the best of both worlds, making the most of SharePoint hybrid search solutions Shyam Narayan Microsoft © 2013 Microsoft.
Microsoft Ignite /19/2018 2:35 AM
Jenkins and Azure OPEN322 Michael Friedrich.
Controlling and leveraging the power of the Microsoft Graph
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Build vNext in VSO and TFS 2015
What’s new in Visual Studio in 2015?
11/14/ :30 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Microsoft Edge for Developers
Office 365 Development.
Modern cloud PaaS for mobile apps, web sites, API's and business logic apps
Bare Metal Development for the Universal Windows Platform
Microsoft Ignite /2/2019 1:15 AM Power Up Your Cross Platform Mobile Code with Platform Specific Features using Xamarin Alec Tucker MOB331 © 2015.
SharePoint Online Authentication Patterns
TechEd /22/2019 9:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Office 365 Development.
What is Visual Studio Code?
Deep Dive into Azure API Apps and Logic Apps
Microsoft Office 4/3/2019 Deep Dive into native Universal App development with the Office 365 APIs Speaker name Title Microsoft Corporation © 2012 Microsoft.
Jonathan Ruckert & Darren Neimke
UI test automation of MVC apps with Microsoft Edge WebDriver
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
ASP.NET Authentication with Identity Jump Start
Empower your users with Azure Active Directory Premium
07 | Introduction to Authentication
User Segmentation and Targeted Push Notifications for UWP apps
Securing ASP.NET in an Azure Environment
8/23/ :09 PM #DEV332 Building Modern, HTML5-Based Business Apps on Windows Azure and Office 365 with Visual Studio LightSwitch Andrew
Presentation transcript:

Andrew Coates Advanced Windows 10 development with the Office 365 APIs DEV33 5

Introduction Universal App projects Integrating Office 365 APIs Agenda

Vision z

Developer vision

Universal Windows Platform

A bigger opportunity with one Windows Windows 10

…and one app platform One Store + One Dev Center Full Support for Existing Code SDK + Services Adaptive User Interface Natural User Inputs

Tuned for every form factor

Adaptive UX

Tailored experiences

Universal Windows 8.1 apps #if WINDOWS_APP ResourceLoader loader = new ResourceLoader(); string about = loader.GetString("SettingsLabel/Text"); string privacy = loader.GetString("PrivacySettings/Text"); string options = loader.GetString("Settings/Text"); ISettingsService settings = container.RegisterSettingsService(); settings.RegisterFlyoutCommand (about); settings.RegisterFlyoutCommand (privacy); settings.RegisterFlyoutCommand (options); #endif

No more shared project and specific platforms project No more conditional code Only one Store The Universal Windows Platform is available on every Windows 10 device One binary for every device

It’s a collection of contracts and extensions When you create an app you target a version of the UWP, not of the operating system Universal Windows Platform

SDKs to add specific platform APIs on top of the Universal Windows platform Platform extensions

Integrating Office 365

Add Connected Service Registers application in Azure AD and imports necessary assemblies Create a data source XAML makes heavy use of data binding, embrace that paradigm Stateful client Initiate login/consent and store Discovery Context Add Office 365 to Universal App

Adding Connected Services

Installs NuGet Packages for Office 365 and dependencies Add Connected Service

Use Web Account Manager when… In most scenarios as this is the default for connected service wizard Your app targets Windows 10 and/or multiple logins (see example) Use Web Authentication Broker when… Your app uses AAD and ADFS only Your app targets Win7 and/or iOS/Android (via Xamarin) You need to target authentication flows not supported by WAM OAuth Implementation 21

Web Account Manager var webTokenRequest = new WebTokenRequest(aadAccountProvider, String.Empty, CLIENT_ID, WebTokenRequestPromptType.ForceAuthentication); webTokenRequest.Properties.Add("authority", AUTHORITY); webTokenRequest.Properties.Add("resource", resourceId); webTokenRequestResult = await WebAuthenticationCoreManager.RequestTokenAsync(webTokenRequest); Web Authentication Broker var authenticationContext = new AuthenticationContext(String.Format(AUTHORITY, TENANT)); var accessToken = (await context.AcquireTokenAsync(resourceId, CLIENT_ID, RETURN_URI)).AccessToken; Authentication Compared

Universal App template and Authentication demo

“Client” objects for each service ExchangeClient SharePointClient Constructor takes a “token getter” function DiscoveryContext wraps an AuthenticationContext AuthenticationContext has methods for getting tokens Office 365 Service Communication

“Client” object constructor example return new ExchangeClient(ExchangeServiceEndpointUri, async () => { return (await _discoveryContext.AuthenticationContext.AcquireTokenSilentAsync( ExchangeServiceResourceId, _discoveryContext.AppIdentity.ClientId, new ActiveDirectory.UserIdentifier( dcr.UserId, UserIdentifierType.UniqueId) ) ).AccessToken; });

Client Object exposes properties Most are IEnumerable collections Designed much like Entity Framework Client == DataContext IEnumerable entities Includes common CRUD operations

Office 365 UWP App demo

Jordan Knight

See your day in a single glance Day Bar Office 365 UWP + serial port access Arduino Led strip (and some other bits and bobs)

Make(er) one yourself! Find all the instructions, links and components (more links) at It’s pretty simple… Some basic wiring Some C code (but not much!) Some C#

Quick run through Jordan Knight

Day Bar code and links Find all the instructions, links and components (more links) at Arduino VS plugin: Office 365 Windows starter: Remember: you need an Office 365 developer account (free with Bizspark etc.)

Introduction Universal App projects Integrating Office 365 APIs Summary

PRD322 – A Day in an Office Developer’s Life Yesterday at 09:45. It’ll be on Channel9 DEV 326 – Word, Excel, PowerPoint Add-ins Yesterday at 17:00. It’ll be on Channel9 DEV327 – Outlook Add-ins. Yesterday at 18:30. It’ll be on Channel9 DEV334 – Windows 10 Development with O365 APIs This was it. You want MORE?

Getting Started with APIs Mobile dev Code Samples Mobile dev Training videos & hands on labs Office 365 API documentation

@OfficeDev StartStart

Continue your Ignite learning path Visit Microsoft Virtual Academy for free online training visit Visit Channel 9 to access a wide range of Microsoft training and event recordings Head to the TechNet Eval Centre to download trials of the latest Microsoft products

Andrew Coates Advanced Windows 10 development with the Office 365 APIs DEV33 5