Exam Study Guide: MS-600: Building Applications and Solutions with Microsoft 365 Core Services
This post contains articles to help study MS-600: Building Applications and Solutions with Microsoft 365 Core Services which is the only exam needed to become achieve the Microsoft 365 Certified: Developer Associate certification. Additionally it can be used to help your organization qualify for the Application Development Microsoft Partner competency.
Here is what is currently being tested along with articles that can help:
Implement Microsoft Identity (20-25%)
Register an Application
Determine the supported account type; select authentication and client credentials for app type and authentication flow; define app roles
- Getting Started with Microsoft Identity [Microsoft Learn]
- Quickstart: Register an application with the Microsoft identity platform [Microsoft Docs]
- Authentication flows [Microsoft Docs]
- Application roles [Microsoft Docs]
Implement Authentication
Configure Microsoft Authentication Library (MSAL JS) for endpoint and token cache; plan and configure scopes for dynamic or static permission; use the MSAL JS login method
- Microsoft Authentication Library for JavaScript (MSAL.js) [GitHub]
- Acquire and cache tokens using the Microsoft authentication library (MSAL) [Microsoft Docs]
Configure Permissions to Consume an API
Configure Delegated permissions for the app; configure Application permissions for the app; identify admin consent requirements
- Permissions and consent in the Microsoft identity platform endpoint [Microsoft Docs]
- Azure Active Directory consent framework [Microsoft Docs]
- Admin consent on the Microsoft identity platform [Microsoft Docs]
Implement Authorization to Consume an API
Configure incremental consent scopes; call MSAL JS using AquireTokenSilent/AquireToken pattern
- Incremental and dynamic consent [Microsoft Docs]
- Use the Microsoft Authentication Library (MSAL) to sign in the user [Microsoft Docs]
Implement Authorization in an API
Validate Access Token; configure effective permissions for delegated scopes; implement app permissions using roles; use a delegated access token to call a Microsoft API
- Validating tokens [Microsoft Docs]
- Permission types [Microsoft Docs]
- How to: Add app roles in your application and receive them in the token [Microsoft Docs]
- Service-to-service calls that use delegated user identity in the On-Behalf-Of flow [Microsoft Docs]
Create a Service to Access Microsoft Graph
Configure client credentials using a certificate; configure Application permissions for the app; acquire an access token for Microsoft Graph using an application permission and client credential certificate; acquire an access token using the client secret
- Build ASP.NET MVC web applications with the Microsoft Graph .NET SDK [Microsoft Learn]
- Certificate credentials for application authentication [Microsoft Docs]
- Service to service calls using client credentials [Microsoft Docs]
More
Below is some further reading. Although not directly linked with the exam, it is good to know more about the identity platform before going into this exam.
- Application types in Microsoft identity [Microsoft Learn]
- Permissions and Consent Framework [Microsoft Learn]
- Secure custom APIs with Microsoft Identity [Microsoft Learn]
- Work with users, groups, and roles in custom apps and APIs [Microsoft Learn]
Build Apps with Microsoft Graph (20-25%)
Optimize Data Usage with query parameters
Use $filter query parameter; use $select query parameter; order results using $orderby query parameter; set page size of results using $skip and $top query parameters; expand and retrieve resources using $expand query parameter; retrieve the total count of matching resources using $count query parameter; search for resources using $search query parameter; determine the appropriate Microsoft Graph SDK to leverage
- Optimize data usage when using Microsoft Graph with query parameters [Microsoft Learn]
- Use query parameters to customize responses [Microsoft Docs]
Optimize network traffic
Monitor for changes using change notifications; combine multiple requests using $batch; get changes using a delta query; implement error 429 handler
- Optimize network traffic with Microsoft Graph [Microsoft Learn]
- Microsoft Graph change notifications [Microsoft Learn]
- Set up notifications for changes in user data [Microsoft Docs]
- Combine multiple requests in one HTTP call using JSON batching [Microsoft Docs]
- Microsoft Graph track changes (delta query) [Microsoft Learn]
- Use delta query to track changes in Microsoft Graph data Microsoft Docs]
- Microsoft Graph throttling guidance [Microsoft Docs]
Access User data from Microsoft Graph
Get the signed in users profile; get a list of users in the organization; get the users profile photo; get the user object based on the users unique identifier; get the users manager profile
- Access User Data from Microsoft Graph [Microsoft Learn]
- Working with users in Microsoft Graph [Microsoft Docs]
- Get a user [Microsoft Docs]
- List users [Microsoft Docs]
Access Files with Microsoft Graph
Get the list of files in the signed in users OneDrive; download a file from the signed in users OneDrive using file unique id ; download a file from a SharePoint Site using the relative path to the file; get the list of files trending around the signed in user; upload a large file to OneDrive; get a user object from an owner list in a group and retrieve that user’s files
- Access Files with Microsoft Graph [Microsoft Learn]
- Working with files in Microsoft Graph [Microsoft Docs]
- Download the contents of a DriveItem [Microsoft Docs]
- List trending [Microsoft Docs]
- Upload large files with an upload session [Microsoft Docs]
- List children of a driveItem [Microsoft Docs]
Manage a group lifecycle on Microsoft Graph
Get the information on a group by id; get the list of members in a Group; get the list of owners of a Group; get the list of Groups where the signed in user is a member; get the list of Groups where the signed in user is an owner; provision a Group; provision a Team with a Group; delete a group
- Manage Group Lifecycle with Microsoft Graph [Microsoft Learn]
- Working with groups in Microsoft Graph [Microsoft Docs]
- Get group [Microsoft Docs]
- List members [Microsoft Docs]
- List owners [Microsoft Docs]
- user: getMemberGroups [Microsoft Docs]
- Create group [Microsoft Docs]
- Create team [Microsoft Docs]
- Delete group [Microsoft Docs]
Extend and Customize SharePoint (20-25%)
- Overview of the SharePoint Framework [Microsoft Docs]
- Introduction to customizing and extending SharePoint [Microsoft Learn]
Understand the components of a SharePoint Framework (SPFx) web part
Identify the appropriate tool to create an SPFx Web Part project; understand properties of client-side web parts; understand Office UI Fabric in client-side web parts; understand when to use an app page; differentiate between app page and web part; understand rendering framework options
- Build your first SharePoint client-side web part [Microsoft Docs]
- Use Office UI Fabric React components in your SharePoint client-side web part [Microsoft Docs]
- Using single part app pages in SharePoint Online [Microsoft Docs]
Understand SPFx extensions
Identify the appropriate tool to create an SPFx Extension project; understand page placeholders from Application Customizer; understand the ListView Command Set extension; understand the Field Customizer extension
- Overview of SharePoint Framework Extensions [Microsoft Docs]
- Use page placeholders from Application Customizer [Microsoft Docs]
- Build your first ListView Command Set extension [Microsoft Docs]
- Build your first Field Customizer extension [Microsoft Docs]
Understand the process to package and deploy an SPFx solution
Understand the options for preparing a package for deployment; understand the options for packaging a solution; understand the requirements of tenant-scoped solution deployment; understand the requirements of domain isolated web parts; understand the options to deploy a solution
- Package the HelloWorld web part [Microsoft Docs]
- SharePoint solution packaging [Microsoft Docs]
- Tenant-scoped solution deployment for SharePoint Framework solutions [Microsoft Docs]
- Deploying solutions with isolated web parts [Microsoft Docs]
Understand the consumption of Microsoft Graph
Understand the purpose of the MSGraphClient object; understand the methods for granting permissions to Microsoft Graph
- Use the MSGraphClient to connect to Microsoft Graph [Microsoft Docs]
Understand the consumption of third party APIs secured with Azure AD from within SPFx
Understand the purpose of the AadHttpClient object; understand the methods for granting permissions to consume a third party API
- Connect to Azure AD-secured APIs in SharePoint Framework solutions [Microsoft Docs]
- Connect to anonymous APIs [Microsoft Docs]
Understand Web Parts as Teams Tabs
Understand the considerations for creating a SPFx Web Part to be a Teams Tab; understand the options for deploying a SPFx Web Part as a Teams Tab
- Building Microsoft Teams tab using SharePoint Framework - Tutorial [Microsoft Docs]
Understand branding and theming in SharePoint
Understand the options for SharePoint site theming; understand the options for site designs and site scripts
- SharePoint Design Manager branding and design capabilities [Microsoft Docs]
- Themes overview for SharePoint [Microsoft Docs]
Extend Teams (15-20%)
- What are Microsoft Teams apps? [Microsoft Docs]
Understand the components of a Teams app
Understand the purpose of a Teams app manifest; understand App Studio functionality and features; identify the components of an app package for Microsoft Teams; understand the options for distributing a Teams app; understand the benefits of using deep links; understand task modules
- Introduction to building apps for Microsoft Teams [Microsoft Learn]
- Quickly develop apps with App Studio for Microsoft Teams [Microsoft Docs]
- Create an app package for your Microsoft Teams app [Microsoft Docs]
- Upload an app package to Microsoft Teams [Microsoft Docs]
- Publish your Microsoft Teams app [Microsoft Docs]
- Create deep links to content and features in Microsoft Teams [Microsoft Docs]
- What are task modules? [Microsoft Docs]
Understand webhooks in Microsoft Teams
Understand when to use webhooks; understand the limitations of webhooks; understand the differences between incoming and outgoing webhooks
- What are webhooks and connectors? [Microsoft Docs]
Understand tabs in Microsoft Teams
Understand when to use tabs; understand the capabilities of personal tabs; understand the capabilities of channel tabs; understand the requirements for tabs for mobile clients
- Create Embedded Web Experiences with Tabs for Microsoft Teams [Microsoft Learn]
- What are Microsoft Teams custom tabs? [Microsoft Docs]
Understand messaging extensions
Understand when to use messaging extensions; understand where messaging extensions can be invoked from; understand search based messaging extensions; choose the appropriate message extension command type based on requirements; understand action-based messaging extensions with adaptive cards; understand action-based messaging extensions with parameters
- What are messaging extensions? [Microsoft Docs]
- Define messaging extension action commands [Microsoft Docs]
- Bot response with Adaptive Card [Microsoft Docs]
Understand conversational bots
Understand when to use conversational bots; understand the scoping options for bots; understand when to use a task module from a bot
- What are conversational bots? [Microsoft Docs]
- What are task modules? [Microsoft Docs]
Extend Office (15-20%)
Understand fundamental components and types of Office Add-ins
Understand task pane and Content Office Add-ins; understand dialogs; understand custom functions; understand Add-in commands; understand the purpose of Office Add-ins manifest
- Understand Office Add-ins fundamentals [Microsoft Learn]
Understand Office JS APIs
Understand the Office Add-in programming model; understand Office Add-in developer tools; understand the capabilities of the Excel Javascript API; understand the capabilities of the Outlook JavaScript API; understand the capabilities of the Word JavaScript API; understand the capabilities of the PowerPoint JavaScript API; understand the capabilities of custom functions
- Understand Office Javascript APIs [Microsoft Learn]
Understand customization of Add-ins
Understand the options of persisting state and settings; understand Office UI Fabric in Office Add-ins; understand when to use Microsoft Graph in Office Add-ins; understand authorization when using Microsoft Graph in Office Add-ins
- Understand how to customize Office Add-ins [Microsoft Learn]
Understand testing, debugging, and deployment options
Select deployment options based on requirements; understand testing and debugging concepts for Office Add-ins
- Understand testing, debugging, and deployment options for Office Add-ins [Microsoft Learn]
Understand actionable messages
Understand the features of actionable messages with an adaptive card; understand the scenarios for refreshing an actionable message
- Introduction to Office client customization with add-ins [Microsoft Learn]
- Adaptive Cards Overview [Microsoft Docs]
- Designing Outlook Actionable Message cards with the Adaptive Card format [Microsoft Docs]