Office 365 Groups and Planner API - Getting Started Dragan Panjkov, MVP, K2 Northern Europe
Dragan Panjkov Microsoft MVP – Office Servers and Services Consultant at K2 Northern Europe (www.k2.com) Website and blog: www.dragan-panjkov.com Twitter: @panjkov Github: www.github.com/panjkov
Agenda Groups Groups APIs Planner Planner APIs Q&A
Microsoft 365: Universal Toolkit for Teamwork Outlook SharePoint Yammer Office Apps Teams Email & Calendar Intranets & Content Management Connect Across the Organization Co-Author Hub for Teamwork Office 365 Groups Single team membership across apps and services Microsoft Graph Suite-wide intelligence connecting people and content Security and Compliance Centralized policy management
Microsoft 365 Teamwork: Where to Start a Conversation Teams Yammer Outlook Email People you work with regularly on core projects Ubiquitous for targeted communications Outer Loop Inner Loop Files Sites Content SharePoint People you connect with openly across the organization Office 365 Groups Cross application group membership
Groups in Office 365 One identity Federated resources Loose coupling Azure Active Directory (AAD) is the master for group identity and membership across Office 365 (Exchange, SharePoint, etc.) Federated resources Office 365 services extend with their data (e.g., conversations stored in Exchange mailbox and documents stored in OneDrive for a group) Loose coupling Services notify each other of changes to a group (e.g., creation, deletion, updates) Using sync from AAD to Exchange Online AD and SharePoint Online AD they achieve reliability if they miss notifications EXCHANGE Exchange Online AD Conversations Calendar Group mailbox AAD Identity Resource URLs Owners Members Group identity SHAREPOINT SharePoint Online AD Documents OneNote OneDrive for Business ADDITIONAL WORKLOADS Local directory Workload scenarios Workload resources The way this all comes together is that the creation of a group in O365 anywhere in the suite create an identity for that team in Office 365 that holds membership, common properties, and links to workloads in the suite. When an app needs to make an update to a property or membership, updates are made to the group in AD, Various applications either read these values directly or hold them in caches, but all common data is mastered in AD.
Key benefits of Groups Single definition Public by default 9/11/2018 12:14 AM © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Office 365 CloudRoadShow Key benefits of Groups Single definition Public by default Sharing to non-members Self-service Context and history Simple to manage
Building your app Register app in Azure portal © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 9/11/2018 12:14 AM Office 365 CloudRoadShow 3 Groups API Building your app Register app in Azure portal Native Web app Single page app Configure app permissions Groups.Read.All Groups.ReadWrite.All Get token using OAuth2.0 flow Use OpenID Connect for SSO Build your code using Microsoft Graph
Microsoft Graph Single resource that proxies multiple Microsoft services Allows for easy traversal of objects and relationships Eliminates the need to discovery endpoints Only one OAuth access token needed For both personal and work and school accounts Exposing User, Group and Organizational data
Microsoft Graph for developers REST based API endpoints https://graph.microsoft.com/v1.0/$metadata SDKs available for all popular platforms
/DRIVE/ROOT/CHILDREN Office 365 CloudRoadShow © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 9/11/2018 12:14 AM https://graph.microsoft.com/v1.0/groups/?$filter=grouptyp es/any(c:c eq 'Unified') /CALENDAR /PLANNER /CONVERSATIONS GROUP /ONENOTE /EVENTS /SITES /DRIVE/ROOT/CHILDREN
Common content queries © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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. 3 Groups API 9/11/2018 12:14 AM Common content queries SCENARIO URL Get top 10 conversations sorted by LastDeliveryTime /groups/{id}/conversations?$top=10&$orderby=lastDeliveredDateTime Get the next 10 conversations /groups/{id}/conversations?$top=10&$skip=10 Get selected properties on events starting after a particular date/time /groups/{id}/events?$top=10&$select=Subject,Start,End&$filter=Sta rt/DateTime ge '2014-09-22' Get selected properties on conversation threads /groups/{id}/conversations/{id}/threads/{id}/posts?$select=body Get files where the name starts with “c” /groups/{id}/drive/root/children?$filter=startswith(name,+'c') Get selected properties on files /groups/{id}/drive/root/children?$select=dateTimeCreated
Provisioning Groups var g = new Group { DisplayName = "My Group", © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 9/11/2018 12:14 AM Provisioning Groups var g = new Group { DisplayName = "My Group", MailNickname = "MyGroup", SecurityEnabled = false, MailEnabled = true, Description = "A nice group", GroupTypes = new[] { "Unified" }, }; g = await graphService.Groups.Request().AddAsync(g);
Planner - Work Management for Teams 9/11/2018 Microsoft © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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. Planner - Work Management for Teams Build your team Built in experience for adding members and assigning work New Office 365 service Fully integrated into the suite and Office 365 Groups Customizable columns Customize each board to the exact needs of your team, process, and content. My work organized Access the Planner Hub, My Tasks, and all Plans ordered by activity Visual and engaging Document previews, images, and summary in stats make it easy to get an overview Interactive Boards Track and organize your team’s work by moving cards between columns
Planner - Task Details 9/11/2018 Microsoft Focus on the details © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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. Planner - Task Details Focus on the details Rich details experience include progress, start and due dates, assignments, and description. Custom labels Highlight key tasks with colorful customizable labels. Checklists Breakdown complex items into manageable steps. Jot down ideas to make progress. SharePoint Documents Easily upload new files, attach links, or pick from existing Sharepoint content Outlook Conversations Discuss each task to get things done. Conversations show up in Outlook clients and are powered by the Outlook services.
Groups, Plans, Buckets, and Tasks 9/11/2018 Microsoft © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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. Groups, Plans, Buckets, and Tasks Group Plan Bucket Task Task
Task Details, Attachments, Conversations 9/11/2018 Microsoft © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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. Task Details, Attachments, Conversations Planner Task Details File Attachments Powered by SharePoint Group Conversations powered buy Outlook
Planner Tasks API, now in V1! 9/11/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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. Planner Tasks API, now in V1! Group Microsoft Graph Access data across Office 365 and Microsoft at one single endpoint Read and write to the Tasks API at: https://graph.microsoft.com/v1.0/me/planner/tasks https://graph.microsoft.com/v1.0/planner/plans/{id}/tasks https://graph.microsoft.com/v1.0/groups/{id}/planner/plans OData v4 and OAuth 2.0 REST Use common HTTP verbs like GET/POST/PATCH/DELETE Owns Plan Contains Task Task Task
Plans Common API operations Getting plans Creating plans Editing plans 1 Overview Plans Common API operations Getting plans Creating plans Editing plans
Tasks Common API operations Getting tasks Creating tasks Editing tasks 1 Overview Tasks Common API operations Getting tasks Creating tasks Editing tasks Deleting tasks
//build2017 API Updates New /planner segment Service Generated Order Hints Tasks assigned to multiple people Additional properties Sortable etags
General Plan Notes When you create an Office 365 Group a plan is created automatically This process can take up to 48 hours to complete The plan in an Office 365 Group is named the same as the Office 365 Group
Resources Microsoft Graph website: https://graph.microsoft.io Microsoft Graph Explorer: https://developer.microsoft.com/en-us/graph/graph-explorer Demo project: https://github.com/panjkov/Office365PlannerTask Sessions from Microsoft Ignite (filter/search for Graph, Azure Active Directory, Groups) https://techcommunity.microsoft.com/t5/Microsoft-Ignite-Content-2017/bd-p/MicrosoftIgniteContent2017