BRK3199: Supercharging Your Custom Solutions with the Office 365 Unified API Endpoint

[Speaker: Yina Arenas] This session will deep dive into the available scenarios when using the Office 365 unified API endpoint.

How toBreakoutIgnite2015Office 365
1.0x

BRK3199: Supercharging Your Custom Solutions with the Office 365 Unified API Endpoint

Created 2 years ago

Duration 1:13:45
lesson view count 46
[Speaker: Yina Arenas] This session will deep dive into the available scenarios when using the Office 365 unified API endpoint.
Select the file type you wish to download
Slide Content
  1. Supercharging your custom solutions with theOffice 365 unified API (preview)

    Slide 1 - Supercharging your custom solutions with theOffice 365 unified API (preview)

    • Yina Arenas
    • Program Manager
    • Office Extensibility
    • BRK3199
  2. Yina Arenas

    Slide 2 - Yina Arenas

    • Senior Program Manager
    • Office Extensibility
    • Supercharging your custom solutions with theOffice 365 unified API (preview)
    • https://graph.microsoft.com/
    • Users
    • Mail
    • Contacts
    • Documents
    • Tasks
    • Office Graph
    • Spreadsheets
    • Groups
    • Calendar
    • Files
    • Notes
    • IM
    • Presentations
    • Sites
    • Conversations
  3. Why? What? How?

    Slide 3 - Why? What? How?

    • Demos, demos, demos
    • What’s supported now?
    • What’s coming next?
    • Partner showcase
    • Call to action
    • Agenda
  4. The most strategic developer surface area for us is Office 365

    Slide 4 - The most strategic developer surface area for us is Office 365

    • —Satya Nadella
  5. Slide 5

    • 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%
  6. Why?

    Slide 6 - Why?

    • Office 365…. important data but in separate silos
  7. Slide 7

    • USER
    • FILES
    • EMAIL AND CONVERSATIONS
    • PEOPLE
    • EVENTS
    • Data silos in the enterprise
    • GROUPS
  8. Slide 8

    • USER
    • PEOPLE
    • Directory
    • GROUPS
    • Azure Active Directory Graph API
    • https://graph.windows.net/contoso.com/users
    • https://graph.windows.net/contoso.com/groups
  9. c

    Slide 9 - c

    • USER
    • PEOPLE
    • Extended Profile
    • GROUPS
    • SharePoint User Profile
    • https://contoso.sharepoint.com/_api/SP.UserProfiles.PeopleManager/GetMyProperties
    • Exchange HD Picture
    • https://outlook.office365.com/api/v1.0/me/userPhoto
  10. Slide 10

    • 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
  11. Slide 11

    • 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
  12. Slide 12

    • 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
  13. What?

    Slide 13 - What?

    • graph.microsoft.com (preview)One API to rule them all
  14. Office 365 unified API

    Slide 14 - Office 365 unified API

    • https://graph.microsoft.com/
    • Your App
    • USERS
    • FILES
    • MAIL
    • CALENDAR
    • GROUPS
    • Insights and relationships from Office Graph
    • TASKS
  15. Slide 15

    • USER
    • FILES
    • EMAIL AND CONVERSATIONS
    • PEOPLE
    • EVENTS
    • Breaking silos
    • GROUPS
  16. userPhoto

    Slide 16 - userPhoto

    • /me
    • department
    • mobile
    • aboutMe
    • birthday
    • tags
    • hireDate
    • thumbnailPhoto
    • address
    • jobTitle
    • name
    • alias
    • pastProjects
    • responsibilities
    • schools
    • skills
    • ME
    • USER
  17. Code

    Slide 17 - Code

    • GET https://graph.microsoft.com/beta/contoso.com
    • /users/yina@contoso.com
    • 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/yina@contoso.com?$select=aboutMe
    • GET https://graph.microsoft.com/beta/me/userphotos/96X77
  18. Slide 18

    • manager
    • directReports
    • GROUPS
    • memberOf
    • USER
    • /users
  19. Code

    Slide 19 - Code

    • GET https://graph.microsoft.com/beta/me/manager
    • GET https://graph.microsoft.com/beta/contoso.com
    • /users/yina@contoso.com/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/alex@contoso.com/directReports
  20. Slide 20

    • manager
    • directReports
    • GROUPS
    • memberOf
    • /messages
    • MESSAGES
    • USER
  21. Code

    Slide 21 - Code

    • GET 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:alexd@contoso.com"
  22. Slide 22

    • MESSAGES
    • manager
    • directReports
    • GROUPS
    • memberOf
    • /events
    • MESSAGES
    • EVENTS
    • USER
  23. Code

    Slide 23 - Code

    • GET 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
  24. EVENTS

    Slide 24 - EVENTS

    • MESSAGES
    • manager
    • directReports
    • GROUPS
    • memberOf
    • /files
    • EVENTS
    • Shared with me
    • modifiedBy
    • FILES
    • createdBy
    • directReports
    • USER
    • public
  25. Code

    Slide 25 - Code

    • GET https://graph.microsoft.com/beta/me/files
    • GET https://graph.microsoft.com/beta/me/files/<id>
    • GET https://graph.microsoft.com/beta/me
    • /files/<id>/lastModifiedByUser
    • GET https://graph.microsoft.com/beta/mary@contoso.com/files
    • GET https://graph.microsoft.com/beta/mary@contoso.com
    • /files/<id>/lastModifiedByUser/manager
  26. Code

    Slide 26 - Code

    • GET https://graph.microsoft.com/beta/me/files
    • GET https://graph.microsoft.com/beta/me/files/<id>
    • GET https://graph.microsoft.com/beta/me
    • /files/<id>/lastModifiedByUser
    • GET https://graph.microsoft.com/beta/mary@contoso.com/files
    • GET https://graph.microsoft.com/beta/mary@contoso.com
    • /files/<id>/lastModifiedByUser/manager
  27. Slide 27

    • 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
  28. Slide 28

    • 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
  29. Code

    Slide 29 - Code

    • 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
  30. createdBy

    Slide 30 - 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
  31. Code

    Slide 31 - Code

    • 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
  32. Slide 32

    • 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
  33. Code

    Slide 33 - Code

    • 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
  34. Code

    Slide 34 - Code

    • 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
  35. Slide 35

    • 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
  36. Code

    Slide 36 - Code

    • GET https://graph.microsoft.com/beta/me/tasks
    • GET https://graph.microsoft.com/beta/contoso.com
    • /users/yina@contoso.com/tasks
    • GET https://graph.microsoft.com/beta/contoso.com
    • /groups/<id>/tasks
  37. TASKS

    Slide 37 - 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
  38. Code

    Slide 38 - Code

    • 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
  39. TASKS

    Slide 39 - 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
  40. TASKS

    Slide 40 - 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/
  41. DemosREST calls in action

    Slide 41 - DemosREST calls in action

  42. How?

    Slide 42 - How?

  43. Abstraction layer

    Slide 43 - 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
  44. Your App

    Slide 44 - Your App

    • Office 365 unified API
    • https://graph.microsoft.com/
  45. Slide 45

    • 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}
  46. DemosApp registration, permission scopes, OpenId Connect, CORS…

    Slide 46 - DemosApp registration, permission scopes, OpenId Connect, CORS…

  47. What is supported now?

    Slide 47 - What is supported now?

  48. Users

    Slide 48 - Users

    • Files
    • Mail
    • Calendar
    • Org. Contacts
    • Groups*
    • Social Activity*
    • Supported functionality
    • Commercial
    • OAuth2.0
    • CORS
    • CRUD
    • OData query operations
    • Actions and functions
    • Client libraries .Net, Android, iOS
  49. TASKS

    Slide 49 - 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
  50. DemosClient library, CRUD, Actions…

    Slide 50 - DemosClient library, CRUD, Actions…

  51. What’s coming next?

    Slide 51 - What’s coming next?

  52. Notifications / web hooks

    Slide 52 - Notifications / web hooks

    • Consumer
    • Instant-on
    • Personal contacts
    • Tasks
    • Notes
    • Skype
    • Additional insights and relationships
    • Extensibility
    • Roadmap
  53. Partner showcaseSmartsheet.com

    Slide 53 - Partner showcaseSmartsheet.com

  54. Call to action

    Slide 54 - Call to action

  55. Slide 55

    • 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
  56. DemosAPI sandbox

    Slide 56 - DemosAPI sandbox

  57. Office 365 unified API (preview)

    Slide 57 - 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
  58. Slide 58

    • http://dev.office.com/devprogram
    • Developer Program Launch
    • E-mail Newsletters
    • Free Developer Subscription
    • 1 YEAR FREE
    • Free Training
    • Free Tools
    • Webinars
  59. Call to action

    Slide 59 - Call to action

    • Sign up for Developer Program
    • Collect your stickers at //build
    • Check out the express talks
  60. TASKS

    Slide 60 - 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
    • Q&A
    • https://graph.microsoft.com/
    • Your App
    • USERS
    • FILES
    • MAIL
    • CALENDAR
    • GROUPS
    • Insights and relationships from Office Graph
    • TASKS