[英]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.