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对于图像/png,此代码运行良好。
我想要实现的是:(图像取自Bot模拟器) 由bot发送给用户的web文件
该文件是从机器人发送的,而不是上传到用户的一个驱动器。当我在https://dev.botframework.com/bots的测试部分测试这个特性时,这也是有效的。它不只是在ms团队中起作用。
发布于 2018-12-03 09:02:13
每个通道发送文件的行为可能不同。微软团队不像WebChat /仿真器那样支持直接上传方法。这是由于遵从性的原因,正如比尔·布利斯所说。
您可以使用用于SharePoint和SharePoint的Microsoft发布带有卡片附件的消息,这些附件引用现有的OneDrive文件。使用图形API需要通过标准的OneDrive授权流访问用户的OAuth2文件夹(用于个人和群聊文件)或团队通道中的文件(用于通道文件)。此方法适用于所有团队上下文。
查看通过机器人发送和接收文件的完整文档,以及如何实现。
另一种选择是使用AdaptiveCard,您可以使用文档的图像缩略图和按钮直接从公共可访问的URL下载PDF文件。
https://stackoverflow.com/questions/53560046
复制相似问题