page_type | description | products | languages | extensions | urlFragment | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sample |
This sample demos app installation using QR code of application's app id |
|
|
|
officedev-microsoft-teams-samples-app-installation-using-qr-code-csharp |
This sample demos app installation using QR code.
The user can Generate a new QR code (contains app id information) and then use Install action to scan and then install the app.
Currently, Microsoft Teams support for QR or barcode scanner capability is only available for mobile clients
.
-
.NET Core SDK version 3.1
determine dotnet version
dotnet --version
-
Ngrok (For local environment testing) Latest (any other tunneling software can also be used)
run ngrok locally
ngrok http -host-header=localhost 3978
-
Teams Microsoft Teams is installed and you have an account
-
Create a Bot Registration In Azure portal, create a Bot Framework registration resource.
- Ensure that you've enabled the Teams Channel
Also add following permission in app registration. (used for App installation in a team)
-
Clone the repository
git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git
-
In a terminal, navigate to
samples/app-installation-using-qr-code/csharp
change into project folder
cd # QRAppInstallation
-
Run ngrok - point to port 3978
# ngrok http -host-header=rewrite 3978
-
Modify the
manifest.json
in the/AppPackage
folder and replace the following details:
{{Microsoft-App-Id}}
with Application id generated from Step 1{{domain-name}}
with base Url domain. E.g. if you are using ngrok it would be1234.ngrok.io
-
Zip the contents of
AppPackage
folder into amanifest.zip
, and use themanifest.zip
to deploy in app store or add to Teams using step 9. -
Modify the
/appsettings.json
and fill in the following details:
-
{{Microsoft-App-Id}}
- Generated from Step 1 is the application app id -
{{ Microsoft-App-Password}}
- Generated from Step 1, also referred to as Client secret -
{{Connection Name}}
- The OAuthConnection setting -
{{ Application Base Url }}
- Your application's base url. E.g. https://12345.ngrok.io if you are using ngrok.The
Connection Name
referred to is the name that we provide while adding OAuth connection setting in the Bot channel registration. Please follow link Add authentication to your bot to see how we can add the setting.
-
Run the bot from a terminal or from Visual Studio, choose option A or B.
A) From a terminal
# run the bot dotnet run
B) Or from Visual Studio
- Launch Visual Studio
- File -> Open -> Project/Solution
- Navigate to
QRAppInstallation
folder - Select
QRAppInstallation.csproj
file - Press
F5
to run the project
-
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 ./AppPackage folder, select the zip folder, and choose Open.
- Select Add in the pop-up dialog box. Your app is uploaded to Teams.
- Card with actions
Generate QR code
andInstall App
.
Generate QR code
is used to generate a QR code by selecting the app.
Install App
is used to Scan the QR code and it then installs the app.
To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.