page_type | description | products | languages | extensions | urlFragment | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sample |
This is a sample application which demonstrates the use of team/Channel subscription that will post notifications when user create/edit/delete team/channel. |
|
|
|
officedev-microsoft-teams-samples-graph-change-notification-team-channel |
This is a sample application that shows the usage of change notifications for team and channel using Microsoft Graph.
This is a sample application which demonstrates use of Team/Channel subscription that will post notifications when user create/edit/delete team/channel.
- After successfully Setup of tab in teams you will get a welcome message and the subscription will be created for team/channel.
- Microsoft Teams is installed and you have an account (not a guest account)
- .NET 6.0 SDK.
# determine dotnet version dotnet --version
- ngrok 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 Azure Active Directory � 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.
-
Channel.ReadBasic.All
,ChannelSettings.Read.All
,Directory.ReadWrite.All
,Group.ReadWrite.All
Team.ReadBasic.All
,TeamSettings.Read.All
,TeamSettings.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.
In Azure portal, create a Azure Bot resource.
- Ensure that you've [enabled the Teams Channel](https://docs.microsoft.com/en-us/azure/bot-service/channel-connect-teams?view=azure-bot-service-4.0)
To include resource data of graph notifications, this Graph API require self-signed certificate. Follow the below steps to create and manage certificate.
-
You can self-sign the certificate, since Microsoft Graph does not verify the certificate issuer, and uses the public key for only encryption.
-
Use Azure Key Vault as the solution to create, rotate, and securely manage certificates. Make sure the keys satisfy the following criteria:
- The key must be of type
RSA
- The key size must be between 2048 and 4096 bits
- The key must be of type
-
Follow this documentation for the steps - [Create and install Self-Signed certificate](Certificate Documentation/README.md)
-
Clone the repository
git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git
A) Or from Visual Studio code
- Launch Visual Studio code
- File -> Open Folder
- Navigate to
samples/graph-change-notification-team-channel/csharp
folder - Select
ChangeNotiifcation
solution file - Press
F5
to run the project
B) Run ngrok - point to port 3978
ngrok http -host-header=rewrite 3978
- Provide MicrosoftAppId, MicrosoftAppPassword and MicrosoftAppTenantId in the appsetting that is created in Azure.
- Provide the ngrok url as "BaseUrl" in appsetting on which application is running on.
- You should be having Base64EncodedCertificate and CertificateThumbprint value from Create and install Self-Signed certificate step.
- Fill any GUID for . You can also put your MicrosoftAppId here.
- Update placeholder with your Microsoft App Id.