繁体   English   中英

无法将Bot的pdf文件发送给ms团队中的用户

[英]Unable to send pdf file from bot to user in ms teams

NodeJS BotBuilder SDK版本:3.15.0我的代码:

var pdf = {
  name: '<file_name>.pdf',
  contentType: 'application/pdf',
  contentUrl: '<https url to public pdf file>'
};
var reply = new builder.Message(session).addAttachment(pdf);
session.send(reply);

在一些在线示例中,此代码是相同的。 我的问题是我总是会出错:

Error: POST to 'https://smba.trafficmanager.net/emea/v3/conversations/a%3A1TwHmhoGuZP2Mf9P0TTnjv8HkcaXzEHryv0sYCvDDUI-qrMitJtHRlAnIcedcDH_v3IfMBXtg_zo5MDVcS0-8hDCQ4sJzpJhrewBPK8uWJXYeShgmd-s7uh5o8kW4ebAP/activities/1543588440246' failed: [400] Bad Request

对于image / png,此代码可以正常工作。

我想要实现的是:(图像取自Bot Framework Emulator)从Bot 发送给用户的Web文件

该文件是从bot发送的,而没有将其上传到用户的一个驱动器。 当我在https://dev.botframework.com/bots的“测试”部分中测试功能时,此功能也有效。 它仅在ms团队中不起作用。

每个通道的发送文件行为可能有所不同。 Microsoft Teams不像WebChat / Emulator那样支持直接上载方法。 正如Bill Bliss所说 ,这是出于合规性原因。

您可以使用用于OneDrive和SharePoint的Microsoft Graph API张贴带有引用现有SharePoint文件的带有卡附件的邮件。 使用Graph API需要通过标准的OAuth2授权流程访问用户的OneDrive文件夹(用于个人和小组聊天文件)或团队渠道中的文件(用于渠道文件)。 此方法适用于所有Teams上下文。

查看通过您的机器人发送和接收文件,以获取完整的文档以及如何实现。


另一种选择是使用AdaptiveCard,您可以在其中使用文档的图像缩略图和按钮来直接从公共可访问URL下载PDF文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM