SharePoint UserGroup Stuttgart - Toni Pohl - Office 365 Development News Overview

67
Toni Pohl, MVP, @atwork Neuigkeiten bei der App- Entwicklung für Office (365)

Transcript of SharePoint UserGroup Stuttgart - Toni Pohl - Office 365 Development News Overview

Toni Pohl, MVP, @atwork

Neuigkeiten bei der App-Entwicklungfür Office (365)

My Impressions…BUILD: https://shar.es/12O7zP IGNITE: https://shar.es/12OlvC

Learn about Azure Active Directory and the current status of the Office 365 Services

• Why? What? How? • Authentication• Office 365• Office Apps &

Store

Office Dev Agenda

Click icon to add picture

The most strategic developer surface area for us is Office 365

”—Satya Nadella

Office 365 by the numbers

Trillion Emails sent with Office 365

4Million objects in the directory

50Billion attachments

60 Petabytes of data

470

Billion relationships in Office graph

8Million meetings per month

850

Fortune500 companiespurchased Office 365in the last 12 months

80%

http://dev.office.com/devprogram

Developer Program Launch

E-mail Newsletters

Free Developer Subscriptio

n

1 YEAR FREE

Free Training

Free Tools

Webinars

Around Office 365SharePoint 2016, Exchange 2016,Skype for Business, Yammer,Office 2016

A (possible) solution for a problem!

Authenticationfor working with Office 365

> BUILD 2-753, Develop Modern Web Applications with Azure Active Directory, Vittorio Bertocci

• Azure AD will NOT issue tokens for unknown apps

• Options:Azure PortalVisual Studio Tools

Registering your app in Azure AD

Protocols – Endpoints in Azure AD

Fabrikam.onmicrosoft.com

SAML

WS-Fed

OAuth-A

OAuth-T

https://msdn.microsoft.com/library/azure/dn151124.aspx

Many possible entry points VS2013 – Update 4+

Create a new ASP.NET project, choose “Organizational Account”

VS2015 Create a new ASP.NET project, choose “Work & School Account” ORRight click on project, choose Configure Azure AD Authentication

Both VS versions, or any other IDEClone sample from

http://github.com/AzureADSamples/<samplename>and follow readme

Using AAD Authentication in Web Apps

• Getting Started (dev.office.com)

• Visual Studio 2013 Update 4

• Office Developer Tools for Visual Studio 2013Last Version is 1.3.41104.1, released 11/12/2014

• Office 365 Developer Subscription

• Visual Studio 2015 now includes identity updates that adds all the auth code required!

What do I need to build an Office 365 web app?

Active Directory Authentication Library (ADAL)“The Windows Azure Authentication Library (ADAL) is a library meant to help developers to take advantage of Active Directory for enabling client apps to access protected resources.”https://msdn.microsoft.com/en-us/library/azure/dn151135.aspx

f.e.: Xamarin Project with ADAL

DemoAuthenticate with VS2015 (RC)

> BUILD 3-728-Integrating Web Apps with Office 365-Todd Baginski, Dorrene Brown

New: VS2015 AAD Authentication Wizard

The Office 365 History...

Office 365 API delivers datain separate silos

USER FILES

EMAIL AND

CONVERSATIO

NS

PEOPLE

EVENTS

Data silos in the enterprise

GROUPS

USER PEOPLE

Directory

GROUPS

Azure Active Directory Graph API https://graph.windows.net/contoso.com/usershttps://graph.windows.net/contoso.com/groupshttps://graphexplorer.cloudapp.net

SharePoint User Profilehttps://contoso.sharepoint.com/_api/SP.UserProfiles.PeopleManager/GetMyProperties

Exchange HD Picturehttps://outlook.office365.com/api/v1.0/me/userPhoto

USER PEOPLE

Extended Profile

GROUPS

USER

EMAIL AND

CONVERSATIO

NSEVENTS

Mail, calendar and conversations

GROUPS

Exchange REST API https://outlook.office365.com/api/v1.0/me/Messageshttps://outlook.office365.com/api/v1.0/me/Events

USER FILES

Files

OneDrive for Business/SharePoint Files API https://contoso-my.sharepoint.com/personal/yina_contoso_com/_api/v1.0/fileshttps://contoso.sharepoint.com/sites/designCouncil/_api/v1.0/files

PEOPLE

GROUPS

USER FILES

Office Graph

Office Graph in SharePoint Online https://contoso.sharepoint.com/_api/search/query?Querytext='*'&Properties='GraphQuery:actor(ME,action\:1020,or(action\:1020\,action\:1003,action\:1001,action\:1024,action\:1005,action\:1037,action\:1039,action\:1036)'&SelectProperties='Docid,Title

PEOPLE

Task: Retrieve a user's files, profile picture, and find the manager These information is stored in multiple services-Azure Active Directory, SharePoint, and Exchange-the task, so this involves multiple steps:

1. Authenticate2. Use the Discovery Service to find the various service endpoints 3. Determine the URL of the services your Office 365 apps want

to connect to4. Then acquire and manage the access token for each service

and make the request to the service directlyhttps://msdn.microsoft.com/en-us/office/office365/howto/office-365-unified-api-overview

Example: How to access the Office 365 API?

Discovery Services Demo

Office 365 API

What?graph.microsoft.com (preview)One API to rule them all

Office 365 unified API

https://

graph.microsoft.com/

Your App

USERS FILES MAIL CALENDARGROUPS

Insights and relationships from Office Graph

TASKS

Abstraction layerSame• App registration• Permission scopes and security• OAuth2.0 and OpenID Connect

Simpler• Single endpoint• Single access token

Powerful • Get to all data, connections and

relationships

Same platform, just simpler

Get to all data, connections and relationships in Office 365

1. Get a tenant-level entity set:

/user

2. Select a member from the entity set: /user/{id}

3. Get an entity property:/user/{id}/department

4. Traverse to related entity type via navigation properties: /user/{id}/files

Navigating the APIhttps://graph.microsoft.com

//{version}/{tenant}/{entity-set}/{id}/{property}

https://apisandbox.msdn.microsoft.com/

Unified Office 365 API Sandbox Preview

USER FILES

EMAIL AND

CONVERSATIO

NS

PEOPLE

EVENTS

Breaking silos

GROUPS

userPhoto

/me

department

mobile

aboutMebirthday

tags

hireDatethumbnailPhotoaddressjobTitlenamealiaspastProjectsresponsibilitiesschoolsskills

USER

GET https://graph.microsoft.com/beta/me

GET https://graph.microsoft.com/beta/contoso.com/users/<id>

GET https://graph.microsoft.com/beta/contoso.com/users/[email protected]?$select=aboutMe

GET https://graph.microsoft.com/beta/me/messages?$top=5&$skip=5&$orderby=DateTimeCreated

GET https://graph.microsoft.com/beta/me/calendarview?startdatetime=2015-04-01t01:00:00z&enddatetime=2015-04-16t23:00:00z

REST Call Samples - 1

GET https://graph.microsoft.com/beta/me/files

GET https://graph.microsoft.com/beta/[email protected]/files

GET https://graph.microsoft.com/beta/me/files/<id>/lastModifiedByUser

GET https://graph.microsoft.com/beta/contoso.com/groups?$filter=groupType+eq+'Unified'

GET https://graph.microsoft.com/beta/contoso.com/groups/<id>/members

GET https://graph.microsoft.com/beta/contoso.com/groups/<id>/conversations

REST Call Samples - 2

TASK

S

TASK

S

trendingAround

trendingAround

directReports

workingWith

workingWith

createdBy

FILE

S

CONVERSATIO

NS

EVENTS

GROUPS

memberOf

directReport

s

Shared with me

modifiedBy

FILE

S

createdBy

directReports

public

EVENTS

MESSAGE

S

manager

GROUPS

memberOf

/tasks & /notes (future)

NOTE

SNOTE

S

TASK

S

TASK

S

GROUPS

memberOf

USER

GET https://graph.microsoft.com/beta/contoso.com/users/[email protected]/workingWith

GET https://graph.microsoft.com/beta/contoso.com/users/[email protected]/trendingAround

GET https://graph.microsoft.com/beta/contoso.com/groups/<id>/tasks

GET https://graph.microsoft.com/beta/me/notes/notebooks

GET https://graph.microsoft.com/beta/contoso.com/users/[email protected]/notes/sections

REST Call Samples - 3

TASK

S

manager

memberOf

FILE

S

MESSAGE

S

workingWith

Shared with me

directReports

createdBy

FILE

S

CONVERSATIO

NS

createdBy

workingWith

EVENTS

trendingAround

GROUPS

TASK

S

NOTE

SNOTE

S

public

modifiedBy

USERtrendingAroun

d

API

TASK

S

manager

memberOf

FILE

S

MESSAGE

S

workingWith

Shared with me

directReports

createdBy

FILE

S

CONVERSATIO

NS

createdBy

workingWith

EVENTS

trendingAround

GROUPS

TASK

S

NOTE

SNOTE

S

public

modifiedBy

USERtrendingAroun

d

API

https://graph.microsoft.com/

• Users• Files• Mail• Calendar• Org. Contacts• Groups*• Social Activity*

Supported functionality (Now)• Commercial • OAuth2.0• CORS• CRUD• OData query

operations• Actions and functions• Client libraries .Net,

Android, iOS

TASK

S

manager

memberOf

FILE

S

MESSAGE

S

workingWith

Shared with me

directReports

createdBy

FILE

S

CONVERSATIO

NS

createdBy

workingWith

EVENTS

trendingAround

GROUPS

TASK

S

NOTE

SNOTE

S

public

modifiedBy

USERtrendingAroun

d

API

https://graph.microsoft.com/beta/$metadata

• Notifications (web hooks*)• Consumer • Instant-on• Personal contacts• Tasks• Notes• Skype• Additional insights and

relationships • Extensibility

Roadmap

* https://msdn.microsoft.com/en-us/office/office365/api/notify-rest-operations

One API to rule them all

• Great developer experience for consuming Microsoft services from a single URL space with a single token.

• Directly navigate between currently siloed Office 365 services.

• Combine the full O365 services and the rich relationships and queries enabled by the Office Graph into a single service.

Office 365 unified API (preview) Summary

Some Samples…

• AzureADSamples/WebApp-OpenIDConnect-DotNethttps://github.com/AzureADSamples/WebApp-GraphAPI-DotNet

• OfficeDev/O365-ASPNETMVC-Start https://github.com/OfficeDev/O365-ASPNETMVC-Start

• OfficeDev/PnPhttps://github.com/OfficeDev/PnP

Office 365 Code on GitHub

• Try it NOW!• http://apisandbox.msdn.com/ • https://graphexplorer2.azurewebsites.net/

• Get the client libraries• http://dev.office.com/unifiedAPIs

• Run the sample code• http://dev.office.com/unifiedAPIs

• Read our documentation• http://dev.office.com/unifiedAPIs

Call to action - http://dev.office.com/unifiedAPIs

Office Apps and Office Store

Office Store OpportunityOver

4 trillion emails sent with O365

100+ million downloads of mobile apps

850 million

meetings are created a month

2–3 hours/day

spent in Office apps1.2

billion+ users

470+ PB

of storage

Office Add-Ins momentum

3 million monthly users

in March

114%+Usersin 6 months

10+ mil daily API calls

7.7 millionlaunches in March

SharePoint add-ins momentum

850,000

monthly users in March

Up 86% in 6 months

500,000

installed

14.1 million launches in March

7.2 million daily API calls

Office Storefacts and figures(April 2015)

Formal launch

Store downloads

Validation time

Submissions per month

Popular:DocuSign

Popular: PicHit.me

Popular: Insightly

Jan. ‘13

9.5M+

>350 1.3/day

Active developers

737

Mail Content Task Pane SharePoint0

200

400

600

800

1000Active add- ins

Total add-ins

1490+

Office-hosted site to tell your story

Professional videos of your customers using your productAdd your white papers, case studies; etc.

Office will promote your add-ins

Links to Store & Office Marketing pagesEmbeds in field sales & marketing

Vertically-focused site: SMB first

Next: EDU

Future: scalable partner modelOffice seeding full cost of first videos

Storytelling videos: Betterwith.Office.com

• Store button on home ribbon, starting w/ Outlook 15 in May; O16 in June

Greater prominence in ribbon

• New platforms: Office for iOS, starting with Excel

• New clients: Outlook.com, Excel Online & Word Online

IMPORTANT: To appear in Office Online and iOS,please update your add-in Manifest to Office.js 1.1

Your solutions soon discoverable to org customers via App Launcher>My Apps> Store path

Store accessible/prominent in Office 365

Store tile to be added directly to “Waffle” soon after (both features this quarter)

Global expansion: Store fully localized60 Store fronts, 39 supported languages

29 Stores opened in 2015Norway, Sweden, Denmark, Finland

Portugal, Greece, Poland, Hungary

Latvia, Lithuania, Estonia, Finland

Czech Republic, Slovakia, Slovenia

Ukraine and Kazakhstan

Bulgaria, Romania, Serbia, Croatia

Israel and Saudi Arabia

India (Hindi) and South Korea

Vietnam, Thailand, Malaysia, Indonesia11 previous languages supported

• Update manifest to v1.1• Bundeling• Sharepoint Picker• [Hidden Apps: code build15]• [Machine translation service

will come to VS2015]late CY15 / early CY16:• Better usage analytics/telemetry on in-app user

behavior (buttons clicked, etc.)• Add-in bundles & suggestions based on user profiles• More…

My personal Office Store News

Endspurt…

Sessions

https://channel9.msdn.com

• #8 2-758-Making Money with Office 365-Dene Cleaver, Jim Epes• #7 3-728-Integrating Web Apps with Office 365-Todd Baginski,

Dorrene Brown• #6 Ignite 4125-Transforming Your SharePoint Full Trust Code to the

Office App Model-Bob German, Vesa Juvonen, Frank Marasco, Ch• #5 Ignite 2114-Microsoft Office 365 Groups Overview and Roadmap• #4 3-701-Deep Dive into the Office 365 Groups REST API-Yina

Arenas, Rohit Nagarmal• #3 Ignite 3199-Supercharging Your Custom Solutions with the Office

365 Unified API Endpoint-Yina Arenas• #2 Ignite 4117-Get Your Hands Dirty with the Office 365 RESTful

APIs-Robert Howard• #1 753, Develop Modern Web Applications with Azure Active

Directory-Vittorio Bertocci

My Top 10 8 sessions (Office*)

Call to action

Sign up for Developer Programhttp://

dev.office.com

Check out thechannel9 videos

https://channel9.msdn.com

Try it!

© 2015 Microsoft Corporation. All rights reserved.