Cloud Roadshow. Advanced Web Development with the Office 365 APIs.
-
Upload
coleen-shaw -
Category
Documents
-
view
218 -
download
0
description
Transcript of Cloud Roadshow. Advanced Web Development with the Office 365 APIs.
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
Developer visionDATAUSERS
HTML
Authentication
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
Why the need for theUnified API?
USER FILES
EMAIL AND CONVERSATIO
NSPEOPLE
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/groups
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
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 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
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
What is the Unified API
Office 365 unified API
https://graph.microsoft.com/
Your App
USERS FILES MAIL CALENDARGROUPS
Insights and relationships from Office Graph
TASKS
USER FILES
EMAIL AND CONVERSATIO
NSPEOPLE
EVENTS
Breaking silos
GROUPS
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
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
userPhoto
/me
department
mobile
aboutMebirthday
tags
hireDatethumbnailPhotoaddressjobTitlenamealiaspastProjectsresponsibilitiesschoolsskills
USER
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
manager
directReport
s
GROUPS
memberOf
USER
/users
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
manager
directReport
s
GROUPS
memberOf
/messages
MESSAGES
USER
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]"
MESSAGES
manager
directReport
s
GROUPS
memberOf
/events
MESSAGES
EVENTSUSER
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
EVENTS
MESSAGES
manager
directReport
s
GROUPS
memberOf
/drive
EVENTS
Shared with me
modifiedByFILE
S
createdBy
directReports
USERpublic
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
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
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
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
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
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
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
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
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/
GRAPH EXPLORERHTTPS://GRAPHEXPLORER2.AZUREWEBSITES.NET
demo
38
Unified API Native SDKs
39
Unified API Native SDKs Native SDKs available for all platforms supported by the Office 365 APIs
Native .NET SDK NuGet Package: Microsoft.Graph
UNIFIED API
demo
What is supported now?
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
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
What’s coming next?
Notifications / web hooks Consumer Instant-onPersonal contactsTasksNotesSkypeAdditional insights and relationships Extensibility
Click to insert photo.
Roadmap
• Authentication Deep-dive• Why the need for Unified API• What is the Unified API• Unified API .NET SDK• Supported Areas• Roadmap
Summary
Further reading…Getting Started with APIsOffice 365 API Code Samples Office 365 API Training videos & hands on labs Office 365 API documentation
Developer Program Launch
http://dev.office.com/devprogram
E-mail Newsletters
Free Developer Subscriptio
n
1 YEAR FREE
Free Training
Free Tools Webinars
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
©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.