Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
page_type description products languages extensions urlFragment
sample
This sample application demonstrates how to request Resource Specific Consent (RSC) permissions, use them to call Microsoft Graph, and enumerate permission grants through a Teams tab.
office-teams
office
office-365
csharp
contentType createdDate
samples
07/07/2021 01:38:26 PM
officedev-microsoft-teams-samples-graph-rsc-csharp

RSC with Graph API

This sample application showcases how to implement Resource Specific Consent (RSC) for accessing Microsoft Graph APIs within Microsoft Teams. It provides capabilities for requesting permissions, interacting through a Teams tab, and managing user notifications, enhancing the app's integration and usability.

Included Features

  • Tabs
  • RSC Permissions

Interaction with app

Broadcast from user

Try it yourself - experience the App in your Microsoft Teams client

Please find below demo manifest which is deployed on Microsoft Azure and you can try it yourself by uploading the app manifest (.zip file link below) to your teams and/or as a personal app. (Sideloading must be enabled for your tenant, see steps here).

RSC with Graph API: Manifest

Prerequisites

Run the app (Using Teams Toolkit for Visual Studio)

The simplest way to run this sample in Teams is to use Teams Toolkit for Visual Studio.

  1. Install Visual Studio 2022 Version 17.10 Preview 4 or higher Visual Studio
  2. Install Teams Toolkit for Visual Studio Teams Toolkit extension
  3. In the debug dropdown menu of Visual Studio, select default startup project > Microsoft Teams (browser)
  4. In Visual Studio, right-click your TeamsApp project and Select Teams Toolkit > Prepare Teams App Dependencies
  5. Using the extension, sign in with your Microsoft 365 account where you have permissions to upload custom apps.
  6. Select Debug > Start Debugging or F5 to run the menu in Visual Studio.
  7. In the browser that launches, select the Add button to install the app to Teams.

If you do not have permission to upload custom apps (sideloading), Teams Toolkit will recommend creating and using a Microsoft 365 Developer Program account - a free program to get your own dev environment sandbox that includes Teams.

Setup

  1. Register your app with Microsoft identity platform via the Microsoft Entra ID portal (Microsoft Entra ID app registration)

  2. Clone the repository

    git clone https://github.com/OfficeDev/microsoft-teams-samples.git
  3. Build your solution

    • Launch Visual Studio
    • File -> Open -> Project/Solution
    • Navigate to samples/graph-rsc folder
    • Select RSCDemo.sln file
    • Build the solution
  4. Run ngrok - point to port 3978

    ngrok http 3978 --host-header="localhost:3978"

    Alternatively, you can also use the dev tunnels. Please follow Create and host a dev tunnel and host the tunnel with anonymous user access command as shown below:

    devtunnel host -p 3978 --allow-anonymous
  5. Update appsettings.json

    • Update configuration for <<Client Id>>, <<Client Secret>> and <<Tenant Id>> with the MicrosoftAppId , MicrosoftAppPassword and TenantId which was generated while doing Microsoft Entra ID app registration in your Azure Portal.
  6. Run the bot from Visual Studio:

    • Press F5 to run the project
  7. Setup the manifest.json in the /appPackage folder Replace the following details:

    • Replace <<Your Microsoft APP Id>> at all the places with your MicrosoftAppId received while doing Microsoft Entra ID app registration in Azure portal
    • [Your tunnel Domain] with base Url domain. E.g. if you are using ngrok it would be https://1234.ngrok-free.app then your domain-name will be 1234.ngrok-free.app and if you are using dev tunnels then your domain will be like: 12345.devtunnels.ms.
    • Zip up the contents of the appPackage folder to create a manifest.zip
    • Upload the manifest.zip to Teams (in the Apps view click "Upload a custom app")

Running the sample

App review: Overview

App permission: Permossion

Permission list: Permissionlist

Tab Page tab-page

Select Reciepient select-people

Sent Notification notification

Further Reading.