- Introduction
- Prerequisites
- Cloning or downloading this repository
- Configure your Azure AD tenant
- Configure the sample to use your Azure AD tenant
- Build and run the sample
- Questions and comments
- Contributing
- Additional resources
This sample shows how to connect a Windows console application to a Microsoft work or school (Azure Active Directory) or personal (Microsoft) account using the Microsoft Graph API. It uses the Microsoft Graph API to retrieve a user's profile picture, upload the picture to OneDrive, create a sharing link, and send an email that contains the photo as an attachment and the sharing link in its text. It uses the Microsoft Graph .NET Client Library to work with data returned by Microsoft Graph. The sample uses the Azure AD v2.0 endpoint, which enables users to sign in with either their personal or work or school Microsoft accounts.
The sample uses the Microsoft Authentication Library (MSAL) for authentication.
This sample requires the following:
- Visual Studio with C# version 7 and above.
- Either a Microsoft or Office 365 for business account.
- An Azure Active Directory (Azure AD) tenant. For more information on how to get an Azure AD tenant, please see How to get an Azure AD tenant.
From your shell or command line:
git clone https://github.com/microsoftgraph/console-csharp-connect-sample
- Sign in to the Azure portal using either a work or school account or a personal Microsoft account.
- If your account gives you access to more than one tenant, select your account in the top right corner, and set your portal session to the desired Azure AD tenant (using Switch Directory).
- In the left-hand navigation pane, select the Azure Active Directory service, and then select App registrations (Preview).
- In App registrations (Preview) page, select Register an Application.
- When the Register an application page appears, enter your application's registration information:
- In the Name section, enter a meaningful application name that will be displayed to users of the app, for example
Console App for Microsoft Graph
- In the Supported account types section, select Accounts in any organizational directory and personal Microsoft accounts (e.g. Skype, Xbox, Outlook.com).
- Select Register to create the application.
- In the Name section, enter a meaningful application name that will be displayed to users of the app, for example
- On the app Overview page, find the Application (client) ID value and record it for later. You'll need it to configure the Visual Studio configuration file for this project.
- In the list of pages for the app, select Authentication
- In the Suggested Redirect URIs for public clients(mobile,desktop), check the second box so that the app can work with the MSAL libs used in the application. (The box should contain the option urn:ietf:wg:oauth:2.0:oob).
- In the list of pages for the app, select API permissions
- Click the Add a permission button and then,
- Ensure that the Microsoft APIs tab is selected.
- In the Commonly used Microsoft APIs section, click on Microsoft Graph.
- In the Delegated permissions section, ensure that the right permissions are checked: User.Read, Mail.Send and Files.ReadWrite. Use the search box if necessary.
- Select the Add permissions button.
In the steps below, "ClientId" is the same as "Application ID" or "AppId".
Open the solution in Visual Studio to configure the projects.
- In the console-csharp-connect-sample folder, rename the
appsettings.json.example
file toappsettings.json
- Open and edit the
appsettings.json
file to make the following change- Find the line where
ClientId
is set asYOUR_CLIENT_ID_HERE
and replace the existing value with the application (client) ID of theConsole App for Microsoft Graph
application copied from the Azure portal.
- Find the line where
- Open the sample solution in Visual Studio.
- Press F5 to build and run the sample. This will restore the NuGet package dependencies and open the console application.
- When prompted, authenticate with your Microsoft account and consent to the permissions that the application needs.
- Follow the prompts to send a message from your account to yourself or someone else.
We'd love to get your feedback about the Microsoft Graph API Console App. You can send your questions and suggestions in the Issues section of this repository.
Questions about Microsoft Graph development in general should be posted to Stack Overflow. Make sure that your questions or comments are tagged with [microsoftgraph].
If you'd like to contribute to this sample, see CONTRIBUTING.MD.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
Copyright (c) 2019 Microsoft. All rights reserved.