3-641: Supercharging Your Custom Solutions with the Office 365 Unified API Endpoint
Created 2 years ago
Duration 0:54:22
Office 365 is introducing a new unified REST API endpoint that allows developers access to data and relationships from Microsoft and Office 365 services. In this session, you will learn how to supercharge your applications with the use of this endpoint and use it to program against users, groups, files, mail, calendar, tasks and get relationships and navigations between these entities. All using a single API endpoint and a single authentication flow.
-
Embed
-
Social
Select the file type you wish to download
Slide Content
-
Slide 2 - Yina Arenas
- Senior Program Manager
- Office Extensibility
- Supercharging your custom solutions with theOffice 365 unified API (preview)
- 3-641
-
Slide 3 - Yina Arenas
- Senior Program Manager
- Office Extensibility
- Supercharging your custom solutions with theOffice 365 unified API (preview)
- 3-641
- https://graph.microsoft.com/
- Users
- Contacts
- Documents
- Tasks
- Office Graph
- Spreadsheets
- Groups
- Calendar
- Files
- Notes
- IM
- Presentations
- Sites
- Conversations
-
Slide 4 - Why? What? How?
- Demos, demos, demos
- What’s supported now?
- What’s coming next?
- Partner showcase
- Call to action
- Agenda
-
Slide 5 - The most strategic developer surface area for us is Office 365
- “
- ”
- —Satya Nadella
-
Slide 6
- Office 365 by the numbers
- Trillion Emails sent with Office 365
- 4
- Million objects in the directory
- 50
- Billion attachments
- 60
- Petabytes of data
- 470
- Billion relationships in Office graph
- 8
- Million meetings per month
- 850
- Fortune500 companies
- purchased Office 365
- in the last 12 months
- 70%
-
Slide 7 - Why?
- Office 365…. important data but in separate silos
-
Slide 8
- USER
- FILES
- EMAIL AND CONVERSATIONS
- PEOPLE
- EVENTS
- Data silos in the enterprise
- GROUPS
-
Slide 9
- USER
- PEOPLE
- Directory
- GROUPS
- Azure Active Directory Graph API
- https://graph.windows.net/contoso.com/users
- https://graph.windows.net/contoso.com/groups
-
Slide 10 - SharePoint User Profile
- https://contoso.sharepoint.com/_api/SP.UserProfiles.PeopleManager/GetMyProperties
- Exchange HD Picture
- https://outlook.office365.com/api/v1.0/me/userPhoto
- USER
- PEOPLE
- Extended Profile
- GROUPS
-
Slide 11
- USER
- EMAIL AND CONVERSATIONS
- EVENTS
- Mail, calendar and conversations
- GROUPS
- Exchange REST API
- https://outlook.office365.com/api/v1.0/me/Messages
- https://outlook.office365.com/api/v1.0/me/Events
-
Slide 12
- USER
- FILES
- Files
- OneDrive for Business/SharePoint Files API
- https://contoso-my.sharepoint.com/personal/yina_contoso_com/_api/v1.0/files
- https://contoso.sharepoint.com/sites/designCouncil/_api/v1.0/files
- PEOPLE
- GROUPS
-
Slide 13
- 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
-
Slide 14 - What?
- graph.microsoft.com (preview)One API to rule them all
-
Slide 15
- Office 365 unified API
- https://graph.microsoft.com/
- Your App
- USERS
- FILES
- CALENDAR
- GROUPS
- Insights and relationships from Office Graph
- TASKS
-
Slide 16
- USER
- FILES
- EMAIL AND CONVERSATIONS
- PEOPLE
- EVENTS
- Breaking silos
- GROUPS
-
Slide 17 - createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- /workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- workingWith
- workingWith
- USER
-
Slide 18 - createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- /workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- workingWith
- workingWith
- USER
-
Slide 19 - 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>/files
- GET https://graph.microsoft.com/beta/contoso.com
- /groups/<id>/conversations
- GET https://graph.microsoft.com/beta/contoso.com
- /groups/<id>/events/<id>/accept
- Code
-
Slide 20
- workingWith
- workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- workingWith
- workingWith
- trendingAround
- trendingAround
- directReports
- /trendingAround
- USER
-
Slide 21
- trendingAround
- trendingAround
- directReports
- workingWith
- workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- /tasks (future)
- TASKS
- TASKS
- GROUPS
- memberOf
- trendingAround
- trendingAround
- directReports
- USER
-
Slide 22 - GET https://graph.microsoft.com/beta/me/trendingAround
- GET https://graph.microsoft.com/beta/contoso.com
- /users/yina@contoso.com/trendingAround
- GET https://graph.microsoft.com/beta/contoso.com
- /users/mary@contoso.com/trendingAround
- Code
-
Slide 23
- workingWith
- workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- workingWith
- workingWith
- trendingAround
- trendingAround
- directReports
- /trendingAround
- USER
-
Slide 24 - GET https://graph.microsoft.com/beta/me/notes/notebooks
- GET https://graph.microsoft.com/beta/me/notes/pages
- GET https://graph.microsoft.com/beta/contoso.com
- /users/yina@contoso.com/notes/sections
- GET https://graph.microsoft.com/beta/contoso.com
- /groups/<id>/notes/notebooks
- Code
-
Slide 25
- workingWith
- workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- workingWith
- workingWith
- trendingAround
- trendingAround
- directReports
- /trendingAround
- USER
-
Slide 26 - GET https://graph.microsoft.com/beta/me/workingWith
- GET https://graph.microsoft.com/beta/contoso.com
- /users/yina@contoso.com/workingWith
- GET https://graph.microsoft.com/beta/contoso.com
- /users/mary@contoso.com/workingWith
- Code
-
Slide 27
- workingWith
- workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- workingWith
- workingWith
- trendingAround
- trendingAround
- directReports
- /trendingAround
- USER
-
Slide 28 - GET https://graph.microsoft.com/beta/me/notes/notebooks
- GET https://graph.microsoft.com/beta/me/notes/pages
- GET https://graph.microsoft.com/beta/contoso.com
- /users/yina@contoso.com/notes/sections
- GET https://graph.microsoft.com/beta/contoso.com
- /groups/<id>/notes/notebooks
- Code
-
Slide 29
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- /groups
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- USER
-
Slide 30 - 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>/files
- GET https://graph.microsoft.com/beta/contoso.com
- /groups/<id>/conversations
- GET https://graph.microsoft.com/beta/contoso.com
- /groups/<id>/events/<id>/accept
- Code
-
Slide 31 - 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>/files
- GET https://graph.microsoft.com/beta/contoso.com
- /groups/<id>/conversations
- GET https://graph.microsoft.com/beta/contoso.com
- /groups/<id>/events/<id>/accept
- Code
-
Slide 32 - createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- /workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- workingWith
- workingWith
- USER
-
Slide 33 - createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- /workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- workingWith
- workingWith
- USER
-
Slide 34 - createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- /workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- workingWith
- workingWith
- USER
-
Slide 35
- workingWith
- workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- workingWith
- workingWith
- trendingAround
- trendingAround
- directReports
- /trendingAround
- USER
-
Slide 36
- trendingAround
- trendingAround
- directReports
- workingWith
- workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- /tasks (future)
- TASKS
- TASKS
- GROUPS
- memberOf
- trendingAround
- trendingAround
- directReports
- USER
-
Slide 37 - GET https://graph.microsoft.com/beta/me/trendingAround
- GET https://graph.microsoft.com/beta/contoso.com
- /users/yina@contoso.com/trendingAround
- GET https://graph.microsoft.com/beta/contoso.com
- /users/mary@contoso.com/trendingAround
- Code
-
Slide 38
- trendingAround
- trendingAround
- directReports
- workingWith
- workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- /tasks (future)
- TASKS
- TASKS
- GROUPS
- memberOf
- trendingAround
- trendingAround
- directReports
- USER
-
Slide 39
- trendingAround
- trendingAround
- directReports
- workingWith
- workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- /tasks (future)
- TASKS
- TASKS
- GROUPS
- memberOf
- trendingAround
- trendingAround
- directReports
- USER
-
Slide 40 - GET https://graph.microsoft.com/beta/me/trendingAround
- GET https://graph.microsoft.com/beta/contoso.com
- /users/yina@contoso.com/trendingAround
- GET https://graph.microsoft.com/beta/contoso.com
- /users/mary@contoso.com/trendingAround
- Code
-
Slide 41
- trendingAround
- trendingAround
- directReports
- workingWith
- workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- /tasks (future)
- TASKS
- TASKS
- GROUPS
- memberOf
- trendingAround
- trendingAround
- directReports
- USER
-
Slide 42 - GET https://graph.microsoft.com/beta/me/trendingAround
- GET https://graph.microsoft.com/beta/contoso.com
- /users/yina@contoso.com/trendingAround
- GET https://graph.microsoft.com/beta/contoso.com
- /users/mary@contoso.com/trendingAround
- Code
-
Slide 43 - TASKS
- TASKS
- trendingAround
- trendingAround
- directReports
- workingWith
- workingWith
- createdBy
- FILES
- CONVERSATIONS
- EVENTS
- GROUPS
- memberOf
- directReports
- Shared with me
- modifiedBy
- FILES
- createdBy
- directReports
- public
- EVENTS
- MESSAGES
- manager
- GROUPS
- memberOf
- /notes (future)
- NOTES
- NOTES
- TASKS
- TASKS
- GROUPS
- memberOf
- USER
-
Slide 44 - GET https://graph.microsoft.com/beta/me/notes/notebooks
- GET https://graph.microsoft.com/beta/me/notes/pages
- GET https://graph.microsoft.com/beta/contoso.com
- /users/yina@contoso.com/notes/sections
- GET https://graph.microsoft.com/beta/contoso.com
- /groups/<id>/notes/notebooks
- Code
-
Slide 45 - TASKS
- manager
- memberOf
- FILES
- MESSAGES
- workingWith
- Shared with me
- directReports
- createdBy
- FILES
- CONVERSATIONS
- createdBy
- workingWith
- EVENTS
- trendingAround
- GROUPS
- TASKS
- NOTES
- NOTES
- public
- modifiedBy
- USER
- trendingAround
- API
-
Slide 46 - TASKS
- manager
- memberOf
- FILES
- MESSAGES
- workingWith
- Shared with me
- directReports
- createdBy
- FILES
- CONVERSATIONS
- createdBy
- workingWith
- EVENTS
- trendingAround
- GROUPS
- TASKS
- NOTES
- NOTES
- public
- modifiedBy
- USER
- trendingAround
- API
- https://graph.microsoft.com/
-
Slide 47 - How?
-
Slide 48 - Abstraction layer
- Same
- 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
-
Slide 49 - Your App
- Office 365 unified API
- https://graph.microsoft.com/
-
Slide 50
- Get a tenant-level entity set:
- /user
- Select a member from the entity set:
- /user/{id}
- Get an entity property:
- /user/{id}/department
- Traverse to related entity type via navigation properties:
- /user/{id}/files
- Navigating the API
- https://graph.microsoft.com
- /
- /{version}
- /{tenant}
- /{entity-set}
- /{id}
- /{property}
-
Slide 51 - DemosApp registration, permission scopes, OpenId Connect, CORS…
-
Slide 52 - DemosApp registration, permission scopes, OpenId Connect, CORS…
-
Slide 53 - What is supported now?
-
Slide 54 - Users
- Files
- Calendar
- Org. Contacts
- Groups*
- Social Activity*
- Supported functionality
- Commercial
- OAuth2.0
- CORS
- CRUD
- OData query operations
- Actions and functions
- Client libraries .Net, Android, iOS
-
Slide 55 - TASKS
- manager
- memberOf
- FILES
- MESSAGES
- workingWith
- Shared with me
- directReports
- createdBy
- FILES
- CONVERSATIONS
- createdBy
- workingWith
- EVENTS
- trendingAround
- GROUPS
- TASKS
- NOTES
- NOTES
- public
- modifiedBy
- USER
- trendingAround
- API
- https://graph.microsoft.com/beta/$metadata
-
Slide 56 - DemosClient library, CRUD, Actions…
-
Slide 57 - What’s coming next?
-
Slide 58 - Notifications / web hooks
- Consumer
- Instant-on
- Personal contacts
- Tasks
- Notes
- Skype
- Additional insights and relationships
- Extensibility
- Roadmap
-
Slide 59 - Notifications / web hooks
- Consumer
- Instant-on
- Personal contacts
- Tasks
- Notes
- Skype
- Additional insights and relationships
- Extensibility
- Roadmap
-
Slide 60 - Partner showcaseSmartsheet.com
-
Slide 61 - Partner showcaseSmartsheet.com
-
Slide 62 - Call to action
-
Slide 63 - 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
-
Slide 64 - 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
-
Slide 65 - 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
-
Slide 66 - Office 365 unified API (preview)
- 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.
- Summary
-
Slide 67
- http://dev.office.com/devprogram
- Developer Program Launch
- E-mail Newsletters
- Free Developer Subscription
- 1 YEAR FREE
- Free Training
- Free Tools
- Webinars
-
Slide 68 - Call to action
- Sign up for Developer Program
- Collect your stickers at //build
- Check out the express talks
-
Slide 69 - Call to action
- Sign up for Developer Program
- Collect your stickers at //build
- Check out the express talks
-
Slide 70 - TASKS
- manager
- memberOf
- FILES
- MESSAGES
- workingWith
- Shared with me
- directReports
- createdBy
- FILES
- CONVERSATIONS
- createdBy
- workingWith
- EVENTS
- trendingAround
- GROUPS
- TASKS
- NOTES
- NOTES
- public
- modifiedBy
- USER
- trendingAround
- https://graph.microsoft.com/
- Your App
- USERS
- FILES
- CALENDAR
- GROUPS
- Insights and relationships from Office Graph
- TASKS
-
Slide 71 - TASKS
- manager
- memberOf
- FILES
- MESSAGES
- workingWith
- Shared with me
- directReports
- createdBy
- FILES
- CONVERSATIONS
- createdBy
- workingWith
- EVENTS
- trendingAround
- GROUPS
- TASKS
- NOTES
- NOTES
- public
- modifiedBy
- USER
- trendingAround
- https://graph.microsoft.com/
- Your App
- USERS
- FILES
- CALENDAR
- GROUPS
- Insights and relationships from Office Graph
- TASKS
-
Slide 72 - TASKS
- manager
- memberOf
- FILES
- MESSAGES
- workingWith
- Shared with me
- directReports
- createdBy
- FILES
- CONVERSATIONS
- createdBy
- workingWith
- EVENTS
- trendingAround
- GROUPS
- TASKS
- NOTES
- NOTES
- public
- modifiedBy
- USER
- trendingAround
- https://graph.microsoft.com/
- Your App
- USERS
- FILES
- CALENDAR
- GROUPS
- Insights and relationships from Office Graph
- TASKS
-
Slide 73 - TASKS
- manager
- memberOf
- FILES
- MESSAGES
- workingWith
- Shared with me
- directReports
- createdBy
- FILES
- CONVERSATIONS
- createdBy
- workingWith
- EVENTS
- trendingAround
- GROUPS
- TASKS
- NOTES
- NOTES
- public
- modifiedBy
- USER
- trendingAround
- https://graph.microsoft.com/
- Your App
- USERS
- FILES
- CALENDAR
- GROUPS
- Insights and relationships from Office Graph
- TASKS