page_type | description | products | languages | extensions | urlFragment | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sample |
Shows how to request RSC permissions, use them to call Microsoft Graph, and how to enumerate permission grants through teams tab. |
|
|
|
officedev-microsoft-teams-samples-graph-rsc-csharp |
This sample illustrates you can use Resource Specific Consent (RSC) to call Graph APIs.
- Tabs
- RSC Permissions
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
-
.NET Core SDK version 6.0
# determine dotnet version dotnet --version
-
Register your app with Microsoft identity platform via the Microsoft Entra ID portal (Microsoft Entra ID app registration)
- Your app must be registered in the Microsoft Entra ID portal to integrate with the Microsoft identity platform and call Microsoft Graph APIs. See Register an application with the Microsoft identity platform.
Note - Make sure you have added
TeamsAppInstallation.ReadForUser.All
as Application level
- Your app must be registered in the Microsoft Entra ID portal to integrate with the Microsoft identity platform and call Microsoft Graph APIs. See Register an application with the Microsoft identity platform.
Note - Make sure you have added
-
Clone the repository
git clone https://github.com/OfficeDev/microsoft-teams-samples.git
-
Build your solution
- Launch Visual Studio
- File -> Open -> Project/Solution
- Navigate to
samples/graph-rsc
folder - Select
RSCDemo.sln
file - Build the solution
-
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
-
Update appsettings.json
- Update configuration for
<<Client Id>>
,<<Client Secret>>
and<<Tenant Id>>
with theMicrosoftAppId
,MicrosoftAppPassword
andTenantId
which was generated while doing Microsoft Entra ID app registration in your Azure Portal.
- Update configuration for
-
Run the bot from Visual Studio:
- Press
F5
to run the project
- Press
-
Setup the
manifest.json
in the/AppManifest
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 behttps://1234.ngrok-free.app
then your domain-name will be1234.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
AppManifest
folder to create amanifest.zip
- Upload the
manifest.zip
to Teams (in the Apps view click "Upload a custom app")
- Replace
- Graph RSC
- Upload app manifest file (zip file) to your team.