GithubHelp home page GithubHelp logo

isabella232 / console-csharp-connect-sample Goto Github PK

View Code? Open in Web Editor NEW

This project forked from microsoftgraph/console-csharp-connect-sample

0.0 0.0 0.0 1 MB

[ARCHIVED] 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 to send an email.

License: MIT License

C# 100.00%

console-csharp-connect-sample's Introduction

[ARCHIVED] Microsoft Graph C# Console Connect Sample

IMPORTANT

This project is being archived and replaced with the Build .NET Core apps with the Microsoft Graph SDK training. As part of the archival process, we're closing all open issues and pull requests.

You can continue to use this sample "as-is", but it won't be maintained moving forward. We apologize for any inconvenience.

Table of contents

Introduction

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.

Prerequisites

This sample requires the following:

How To Run This Sample

Step 1: Clone or download this repository

From your shell or command line:

git clone https://github.com/microsoftgraph/console-csharp-connect-sample

Step 2: Configure your Azure AD tenant

  1. Sign in to the Azure portal using either a work or school account or a personal Microsoft account.
  2. 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).
  3. In the left-hand navigation pane, select the Azure Active Directory service, and then select App registrations (Preview).

Register the client app

  1. In App registrations page, select Register an Application.

  2. In App registrations (Preview) page, select Register an Application.

  3. 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.
  4. 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.

  5. In the list of pages for the app, select Authentication

    • Use urn:ietf:wg:oauth:2.0:oob in the Redirect URI text box and select the Type as Public Client (mobile and desktop)
    • 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).
  6. 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.

Step 3: Configure the sample to use your Azure AD tenant

In the steps below, Client ID is the same as Application ID or App ID.

Open the solution in Visual Studio to configure the projects.

Configure the client project

  1. In the console-csharp-connect-sample folder, rename the appsettings.json.example file to appsettings.json
  2. Open and edit the appsettings.json file to make the following change
    1. Find the line where ClientId is set as YOUR_CLIENT_ID_HERE and replace the existing value with the application (client) ID of the Console App for Microsoft Graph application copied from the Azure portal.

Step 4: Build and run the sample

  1. Open the sample solution in Visual Studio.
  2. Press F5 to build and run the sample. This will restore the NuGet package dependencies and open the console application.
  3. When prompted, authenticate with your Microsoft account and consent to the permissions that the application needs.
  4. Follow the prompts to send a message from your account to yourself or someone else.

Questions and comments

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].

Contributing

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.

Additional resources

Copyright

Copyright (c) 2019 Microsoft. All rights reserved.

console-csharp-connect-sample's People

Contributors

darrelmiller avatar gsscoder avatar irvinesunday avatar jasonjoh avatar microsoftopensource avatar msftgits avatar nicolesigei avatar nokafor avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.