Botframework RESTAPI附件错误
我在使用bot framework REST API通过Skype频道发送附件时遇到问题 我能够使用json消息正确发送图像,如下所示:Botframework RESTAPI附件错误,botframework,Botframework,我在使用bot framework REST API通过Skype频道发送附件时遇到问题 我能够使用json消息正确发送图像,如下所示: { "type":"message", "timestamp":"2017-05-22T11:31:36.2281894Z", "from":{ "name":"MyBot" }, "recipient":{ "id":"29:1-Dl1xMx6G2qGya5O5BgTZJhc0fUKOiQLc
{
"type":"message",
"timestamp":"2017-05-22T11:31:36.2281894Z",
"from":{
"name":"MyBot"
},
"recipient":{
"id":"29:1-Dl1xMx6G2qGya5O5BgTZJhc0fUKOiQLctt74CmwJ3PVJNgkocpf3LY626py9UIO"
},
"text":"It works!",
"attachments": [
{
"contentType": "image/jpg",
"contentUrl": "https://g87a2173.ngrok.io/content/attachments/65f2be10-e61e-424e-9ea1-e05f1002fd19",
"name": "image.jpg"
}
]
}
但是,如果我发送的文件包含除图像以外的任何内容类型,我就会出错
例如,如果我发送
{
"type":"message",
"timestamp":"2017-05-22T11:31:36.2281894Z",
"from":{
"name":"MyBot"
},
"recipient":{
"id":"29:1-Dl1xMx6G2qGya5O5BgTZJhc0fUKOiQLctt74CmwJ3PVJNgkocpf3LY626py9UIO"
},
"text":"Not working!",
"attachments": [
{
"contentType": "audio/wav",
"contentUrl": "https://g87a2173.ngrok.io/content/attachments/e58bcefa-7060-464f-96ee-78d2795ec80f",
"name": "audio.wav"
}
]
}
我得到一个400错误
{
"error": {
"code": "BadArgument",
"message": "Unknown attachment type"
}
}
用于这些测试的rest端点是
国家
附件可以是媒体文件(例如,音频、视频、图像、文件)或
富卡
那么我错在哪里呢
谢谢你我用C#code做了同样的尝试,得到了同样的结论:在Skype频道上,我们得到了一个未知附件类型例外。
使用emulator和Slack(获得下载wav文件的链接)
必须存在通道限制是,或存在错误
无论如何,你可以尝试使用声卡:我测试了它(用C代码),它在Skype上工作:
这里的示例代码:我找到的最好的通用解决方案是发送一个带有AdaptiveOpenUrlAction的自适应卡,指向文件的URI,如下所示:
var card = new AdaptiveCard("1.0");
card.Actions.Add(new AdaptiveOpenUrlAction{
Title = "myDocument.docx",
Url = "https://example.com/documents/myDocument.docx"
});
var attachment = new Attachment(AdaptiveCard.ContentType, content:card);
同样的错误。我试过几种contentType。它似乎只接受
图像*
、视频*
和各种应用程序/vnd.microsoft.card.*
。这可能是一个频道限制吗?我编辑了我的答案,进行了更多的测试和可能的修改solution@FrancescoMariaMilizia那有用吗?是的,谢谢。不幸的是,我必须发送其他类型的文件(如pdf),因此声卡不适合我的需要,但我感谢您的帮助。如果在这方面有帮助,请验证答案。如果您有其他问题,请发布另一个问题;)