Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

50
Cloud Roadshow

description

Authentication Deep-dive Why the need for Unified API What is the Unified API Unified API.NET SDK Supported Areas Roadmap Agenda

Transcript of Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Page 1: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Cloud Roadshow

Page 2: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Advanced Web Development with the Office 365 APIs

Page 3: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

• Authentication Deep-dive• Why the need for Unified API• What is the Unified API• Unified API .NET SDK• Supported Areas• Roadmap

Agenda

Page 4: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Developer visionDATAUSERS

HTML

Page 5: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Authentication

Page 6: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Secured by Azure Active Directory and OAuth 2.0No capturing user credentialsFine-grained access scopesSupports MFA and federated user sign-inLong-term access through refresh tokens

Authentication

Page 7: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Why the need for theUnified API?

Page 8: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

USER FILES

EMAIL AND CONVERSATIO

NSPEOPLE

EVENTS

Data silos in the enterprise

GROUPS

Page 9: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

USER PEOPLE

Directory

GROUPS

Azure Active Directory Graph API https://graph.windows.net/contoso.com/usershttps://graph.windows.net/contoso.com/groups

Page 10: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

USER PEOPLE

Extended Profile

GROUPS

SharePoint User Profilehttps://contoso.sharepoint.com/_api/SP.UserProfiles.PeopleManager/GetMyProperties Exchange HD Picturehttps://outlook.office365.com/api/v1.0/me/userPhoto

Page 11: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

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

Page 12: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

USER FILES PEOPLE

Files

GROUPS

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

Page 13: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

USER FILES PEOPLE

Office Graph

GROUPS

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

Page 14: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

What is the Unified API

Page 15: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Office 365 unified API

https://graph.microsoft.com/

Your App

USERS FILES MAIL CALENDARGROUPS

Insights and relationships from Office Graph

TASKS

Page 16: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

USER FILES

EMAIL AND CONVERSATIO

NSPEOPLE

EVENTS

Breaking silos

GROUPS

Page 17: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

18

Benefits to Unified API Single well-known endpoint

Single well-known resource

Only one OAuth access token needed

Navigate across workloads and relationships logically

Page 18: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

19

Unified API vs. Service APIs Functionality will likely show up first in service-specific end-points

Desire to have all service-specific functionality in Unified API

Service-specific APIs will continue to require resource specific access tokens

Page 19: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

userPhoto

/me

department

mobile

aboutMebirthday

tags

hireDatethumbnailPhotoaddressjobTitlenamealiaspastProjectsresponsibilitiesschoolsskills

USER

Page 20: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

CodeGET https://graph.microsoft.com/beta/contoso.com

/users/[email protected]

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/photo

Page 21: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

manager

directReport

s

GROUPS

memberOf

USER

/users

Page 22: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

CodeGET https://graph.microsoft.com/beta/me/manager

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

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

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

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

Page 23: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

manager

directReport

s

GROUPS

memberOf

/messages

MESSAGES

USER

Page 24: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

CodeGET https://graph.microsoft.com/beta/me/messages

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

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

GET https://graph.microsoft.com/beta/me/messages?$top=5&$select=Subject,Sender&$search="from:[email protected]"

Page 25: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

MESSAGES

manager

directReport

s

GROUPS

memberOf

/events

MESSAGES

EVENTSUSER

Page 26: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

CodeGET https://graph.microsoft.com/beta/me/events

GET https://graph.microsoft.com/beta/me/events?$top=5

GET https://graph.microsoft.com/beta/me/calendarview?startdatetime=2015-04-

01t01:00:00z&enddatetime=2015-04-16t23:00:00z

Page 27: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

EVENTS

MESSAGES

manager

directReport

s

GROUPS

memberOf

/drive

EVENTS

Shared with me

modifiedByFILE

S

createdBy

directReports

USERpublic

Page 28: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

CodeGET https://graph.microsoft.com/beta/me/drive/root/children

GET https://graph.microsoft.com/beta/me/drive/items/<id>

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

GET https://graph.microsoft.com/beta/[email protected]/drive/root/children

GET https://graph.microsoft.com/beta/[email protected]/drive/items/<id>/lastModifiedByUser/manager

Page 29: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

directReport

s

Shared with me

modifiedByFILE

S

createdBy

directReports

public

EVENTS

MESSAGES

manager

GROUPS

memberOf

/groups

directReport

s

Shared with me

modifiedByFILE

S

createdBy

directReports

public

createdBy

FILES

CONVERSATIONS

EVENTS

GROUPS

memberOf

USER

Page 30: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

CodeGET https://graph.microsoft.com/beta/me/joinedgroups

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>/drive/root/children

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

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

Page 31: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

createdBy

FILES

CONVERSATIONS

EVENTS

GROUPS

memberOf

directReport

s

Shared with me

modifiedByFILE

S

createdBy

directReports

public

EVENTS

MESSAGES

manager

GROUPS

memberOf

/workingWith

createdBy

FILES

CONVERSATIONS

EVENTS

GROUPS

memberOf

workingWith

workingWithUSER

Page 32: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

CodeGET https://graph.microsoft.com/beta/me/workingWith

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

/users/[email protected]/workingWith

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

/users/[email protected]/workingWith

Page 33: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

workingWith

workingWith

createdBy

FILES

CONVERSATIONS

EVENTS

GROUPS

memberOf

directReport

s

Shared with me

modifiedByFILE

S

createdBy

directReports

public

EVENTS

MESSAGES

manager

GROUPS

memberOf

workingWith

workingWith

trendingAround

trendingAround

directReports

/trendingAround

USER

Page 34: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

CodeGET https://graph.microsoft.com/beta/me/trendingAround

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

/users/[email protected]/trendingAround

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

/users/[email protected]/trendingAround

Page 35: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

TASKS

manager

memberOf

FILES

MESSAGES

workingWith

Shared with me

directReports

createdBy

FILES

CONVERSATIONS

createdBy

workingWith

EVENTS

trendingAround

GROUPS

TASKS

NOTESNOTE

S

public

modifiedBy

USERtrendingAroun

d

API

Page 36: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

TASKS

manager

memberOf

FILES

MESSAGES

workingWith

Shared with me

directReports

createdBy

FILES

CONVERSATIONS

createdBy

workingWith

EVENTS

trendingAround

GROUPS

TASKS

NOTESNOTE

S

public

modifiedBy

USERtrendingAroun

d

API

https://graph.microsoft.com/

Page 37: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

GRAPH EXPLORERHTTPS://GRAPHEXPLORER2.AZUREWEBSITES.NET

demo

38

Page 38: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Unified API Native SDKs

39

Page 39: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Unified API Native SDKs Native SDKs available for all platforms supported by the Office 365 APIs

Native .NET SDK NuGet Package: Microsoft.Graph

Page 40: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

UNIFIED API

demo

Page 41: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

What is supported now?

Page 42: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Supported functionality Users Files Mail Calendar Org. Contacts Groups* Social Activity*

Commercial OAuth2.0 CORS CRUD OData query

operations Actions and functions Client libraries .Net,

Android, iOS

Page 43: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

TASKS

manager

memberOf

FILES

MESSAGES

workingWith

Shared with me

directReports

createdBy

FILES

CONVERSATIONS

createdBy

workingWith

EVENTS

trendingAround

GROUPS

TASKS

NOTESNOTE

S

public

modifiedBy

USERtrendingAroun

d

API

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

Page 44: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

What’s coming next?

Page 45: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Notifications / web hooks Consumer Instant-onPersonal contactsTasksNotesSkypeAdditional insights and relationships Extensibility

Click to insert photo.

Roadmap

Page 46: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

• Authentication Deep-dive• Why the need for Unified API• What is the Unified API• Unified API .NET SDK• Supported Areas• Roadmap

Summary

Page 48: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Developer Program Launch

http://dev.office.com/devprogram

E-mail Newsletters

Free Developer Subscriptio

n

1 YEAR FREE

Free Training

Free Tools Webinars

Page 49: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

Office 365 Networkhttps://www.yammer.com/itpronetwork

@OfficeDev TwitterStartStart

Podcastshttp://dev.office.com/podcasts

UserVoice

http://officespdev.uservoice.com/

Stack overflow

[ms-office]

Channel 9 Dev Showhttp://aka.ms/O365DevShow Snack Demos

http://aka.ms/o365DevSnackDemos

Engage

Page 50: Cloud Roadshow. Advanced Web Development with the Office 365 APIs.

©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics 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.