| page_type | sample | ||||
|---|---|---|---|---|---|
| description | This sample illustrates how you can use Graph API Channel Life Cycle to call Graph APIs through teams tab. | ||||
| products |
|
||||
| languages |
|
||||
| extensions |
|
||||
| urlFragment | officedev-microsoft-teams-samples-graph-channel-lifecycle-csharp |
This sample show the Channel life cycle which includes create, update delete a channel.
- Tabs
- Graph API
- RSC Permissions
-
.NET Core SDK version 6.0
determine dotnet version
dotnet --version
-
dev tunnel or Ngrok (For local environment testing) latest version (any other tunneling software can also be used)
-
Teams Microsoft Teams is installed and you have an account
- Register a new application in the Microsoft Entra ID – App Registrations portal.
NOTE: When you create your app registration, you will create an App ID and App password - make sure you keep these for later.
- Setup NGROK
-
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
- Setup for code
-
Clone the repository
git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git
-
Modify the
/appsettings.jsonand fill in the following details:{{ ClientId}}- Generated from Step 1 while doing Microsoft Entra ID app registration in Azure portal.{{ ClientSecret}}- Generated from Step 1, also referred to as Client secret{{ BaseUri }}- Your application's base url. E.g. https://12345.ngrok-free.app if you are using ngrok and if you are using dev tunnels, your URL will be like: https://12345.devtunnels.ms.
-
Run the bot from a terminal or from Visual Studio:
A) From a terminal, navigate to
samples/graph-channel-lifecycle/csharp# run the bot dotnet runB) Or from Visual Studio
- Launch Visual Studio
- File -> Open -> Project/Solution
- Navigate to
ChannelLifecyclefolder - Select
ChannelLifecycle.csprojfile - Press
F5to run the project
- Setup Manifest for Teams
-
This step is specific to Teams.
- Edit the
manifest.jsoncontained in the ./AppManifest folder to replace your Microsoft App Id (that was created when you registered your app registration earlier) everywhere you see the place holder string{{Microsoft-App-Id}}(depending on the scenario the Microsoft App Id may occur multiple times in themanifest.json) - Edit the
manifest.jsonforvalidDomainsand replace{{domain-name}}with base Url of your domain. E.g. if you are using ngrok it would behttps://1234.ngrok-free.appthen your domain-name will be1234.ngrok-free.appand if you are using dev tunnels then your domain will be like:12345.devtunnels.ms. - Zip up the contents of the
AppManifestfolder to create amanifest.zip(Make sure that zip file does not contains any subfolder otherwise you will get error while uploading your .zip package)
- Edit the
-
Upload the manifest.zip to Teams (in the Apps view click "Upload a custom app")
- Go to Microsoft Teams. From the lower left corner, select Apps
- From the lower left corner, choose Upload a custom App
- Go to your project directory, the ./AppManifest folder, select the zip folder, and choose Open.
- Select Add in the pop-up dialog box. Your app is uploaded to Teams.
-
Upload app manifest file (zip file) to your team
sample feature life cycle which includes create, update delete a channel




