将附件发送给团队中的Bot

时间:2017-07-12 14:01:30

标签: botframework microsoft-teams

我在.NET C#中使用BotBuilder。

我无法弄清楚如何使用Teams客户端向bot发送附件 - 我尝试使用Windows桌面应用程序和Web客户端,但在与bot的聊天中都没有显示附件按钮。

我也尝试使用Android客户端,发现我可以发送图像附件但不发送其他文件类型,然后我回过头来发现我可以通过将图像粘贴到聊天框中来在桌面/网络客户端中执行相同操作。

使用此方法,我会在Activity.Attachments中找到ContentType="image/*"的项目。我尝试在Android客户端中附加的任何其他类型的文件都不会发送到机器人(Activity.Attachments集合中没有任何内容),正如我所说,其他客户端不允许我在1中附加任何内容: 1聊天。

在Teams Channel中附加文件会将文件添加到Channel中,但如果我将bot与附件一起提供,我就不会获得对附件的任何引用。

唯一提到通过我发现的团队发送的机器人中的附件是here,其中声明您需要使用JwtToken来访问该文件。我猜这是目前团队中的一个限制,因为我可以从其他渠道发送/接收附件,但我想确认没有一些我不知道的细微差别。

3 个答案:

答案 0 :(得分:1)

目前,Microsoft Teams不支持向机器人发送非图像文件的功能。

我们目前正在努力提供此功能,但我们还没有ETA。

答案 1 :(得分:0)

图像附件可以通过将其粘贴到聊天窗口中来通过团队发送。团队已经推送了新版本,您可以在其中使用“聊天BOT”中的附件功能。现在,您可以在团队频道中附加任何文件,但是您需要继续发送Jwt令牌。

在将附件发送到BOT之后,您可以浏览FileDownloadInfo类型,该类型可用于了解文件类型,内容和其他必需的详细信息。

答案 2 :(得分:0)

回答您的第一个问题。默认情况下,Microsoft Teams不显示“附件”按钮。您可以在Teams中安装“ App Studio”,并为您的机器人创建一个应用程序,指定您的应用程序允许上传附件。并将其安装在您自己的Team帐户中进行测试。 enter image description here

第二个问题,您无法获得图片附件。 Microsoft Teams通道的JSON与其他通道不同。 您可能会注意到“ contentType”是不同的,并且“ contentUrl”需要登录才能下载图像。您需要改用“ content.downloadUrl”。

"attachments": [
{
"contentType": "application/vnd.microsoft.teams.file.download.info",
"contentUrl": "https://xxx-xxx.sharepoint.com/personal/xxxx/Documents/Microsoft Teams Chat Files/Cloud section in Singapore.PNG",
"content": {
"downloadUrl": "https://xxxx-xx.sharepoint.com/personal/xxxx/_layouts/15/download.aspx?UniqueId=a3cf2177-1cc7-433b-8344-129140c0694e&Translate=false&tempauth=eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJhdWQiOiIwMDAwMDAwMy0wMDAwLTBmZjEtY2UwMC0wMDAwMDAwMDAwMDAvc2FnZTM2NS1teS5zaGFyZXBvaW50LmNvbUAzZTMyZGQ3Yy00MWY2LTQ5MmQtYTFhMy1jNThlYjAyY2Y0ZjgiLCJpc3MiOiIwMDAwMDAwMy0wMDAwLTxxxxx&ApiVersion=2.0",
"uniqueId": "xxxx-1cc7-433b-8344-xxxxxx",
"fileType": "png"
},
"name": "Cloud section in Singapore.PNG",
"thumbnailUrl": null
}
]