page_type | description | products | languages | extensions | urlFragment | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sample |
This is a sample application which demonstrates how to use CRUD Graph operations within tab related to team tags. |
|
|
|
officedev-microsoft-teams-samples-graph-teams-tag-csharp |
This is a sample application where user can create, update, add or remove members of a tag. All of Graph CRUD operations related to tags can be performed within this sample.
- Teams SSO (tabs)
- Graph API
- Teamwork Tags
- Microsoft Teams is installed and you have an account (not a guest account)
- .NET 6.0 SDK.
# determine dotnet version dotnet --version
- dev tunnel or ngrok latest version or equivalent tunneling solution
- M365 developer account or access to a Teams account with the appropriate permissions to install an app.
- Register a new application in the Microsoft Entra ID – App Registrations portal.
- On the overview page, copy and save the Application (client) ID, Directory (tenant) ID. You’ll need those later when updating your Teams application manifest and in the appsettings.json.
- Navigate to API Permissions, and make sure to add the follow permissions:
-
Select Add a permission
-
Select Microsoft Graph -> Application permissions.
TeamworkTag.ReadWrite.All
-
Click on Add permissions. Please make sure to grant the admin consent for the required permissions.
- Navigate to the Certificates & secrets. In the Client secrets section, click on "+ New client secret". Add a description (Name of the secret) for the secret and select “Never” for Expires. Click "Add". Once the client secret is created, copy its value, it need to be placed in the appsettings.json file.
Note these instructions are for running the sample on your local machine, the tunnelling solution is required because the Teams service needs to call into the app.
-
Start tunnel on localhost:3978
- If you are using Ngrok, Open ngrok and run command
ngrok http 3978 --host-header="localhost:3978"
- Once started you should see link
https://xxxxx.ngrok-free.app
. Copy it, this is your baseUrl that will used as endpoint for Azure bot.
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
- If you are using Ngrok, Open ngrok and run command
-
Clone the repository
git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git
-
Launch Visual Studio
-
File -> Open -> Project/Solution
-
Navigate to folder where repository is cloned then
samples/graph-teams-tag/csharp/GraphTeamsTag.sln
-
Update appsettings.json Update configuration with the
MicrosoftAppId
,MicrosoftAppPassword
andMicrosoftAppTenantId
with the values generated while doing Microsoft Entra ID app registration in Azure Portal. -
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:
{{APP-ID}}
with any GUID id value or your MicrosoftAppId.{{BASE-URL}}
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")
User can see list of tags created for the current team.
User can view/edit the existing team tags.
User can create new team tags.
User can delete existing team tags.