page_type | description | products | languages | extensions | urlFragment | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sample |
This sample demos a bot with capability to upload files to SharePoint site and same files can be viewed in Teams file viewer. |
|
|
|
officedev-microsoft-teams-samples-bot-sharepoint-file-viewer-nodejs |
Using this Nodejs sample, a bot with capability to upload files to SharePoint site and same files can be viewed in Teams file viewer.
- Microsoft Teams is installed and you have an account (not a guest account)
- NodeJS
- ngrok or equivalent tunneling solution
- M365 developer account or access to a Teams account with the appropriate permissions to install an app.
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 bot.
In Azure portal, create a Bot Framework registration resource.
- Ensure that you've enabled the Teams Channel
Add this permission to app registration
-
Login to sharepoint
-
Click on
Create site
and selectTeam site
- Enter site name and description of site.
-
From site address eg: 'https://m365x357260.sharepoint.com/sites/SharePointTestSite'
m365x357260.sharepoint.com
- value is sharepoint tenant name. -
Click on next. (optional step)Add aditional owner and member.
-
Click on Finish.
-
Clone the repository
git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git
-
In a terminal, navigate to
samples/bot-sharepoint-file-viewer/nodejs
-
Install modules
npm install
-
Run ngrok - point to port 3978
ngrok http -host-header=rewrite 3978
-
Update the
.env
configuration for the bot to use theMicrosoftAppId
andMicrosoftAppPassword
andConnectionName
from the Bot Framework registration. (Note that the MicrosoftAppId is the AppId created in step 1 (Setup for Bot SSO), the MicrosoftAppPassword is referred to as the "client secret" in step 1 (Setup for Bot SSO) and you can always create a new client secret anytime.) Also update theSharepointTenantName
with your tenant name andSharepointSiteName
with your sharepoint site name. ForApplicationBaseUrl
provide the application base url. -
Run your bot at the command line:
npm start
-
Manually update the manifest.json
- Edit the
manifest.json
contained in the/appPackage
folder to and fill in MicrosoftAppId (that was created in step 1 and it is the same value of MicrosoftAppId as in.env
file) everywhere you see the place holder string<<YOUR-MICROSOFT-APP-ID>>
(depending on the scenario it may occur multiple times in themanifest.json
) - Zip up the contents of the
/appPackage
folder to create amanifest.zip
- Upload the
manifest.zip
to Teams (in the left-bottom Apps view, click "Upload a custom app")
IMPORTANT: The manifest file in this app adds "token.botframework.com" to the list of
validDomains
. This must be included in any bot that uses the Bot Framework OAuth flow. - Edit the
Add the bot to personal scope.
Send login
message to the bot, you will recieve a consent card by the bot in your personal scope.