MS Teams 客户端上内部托管的图像无法访问

Mar*_*knk 5 botframework microsoft-teams

我们已经在我们的企业团队中启用了 Bot Framework 应用程序,我们希望使用它AdaptiveCards向用户呈现丰富的内容。例如,我们发送AdaptiveImage包含指向企业形象商店的 url。

示例代码:

new AdaptiveImage
{
    Size = AdaptiveImageSize.Small,
    Url = new Uri("https://corporate-storage.com/images/image1.png"), // This is image not hosted publicly.
    AltText = "Some text"
}
Run Code Online (Sandbox Code Playgroud)

这在 WebChat 客户端中工作得很好,因为 url 只是附加到HTML 标记src的属性中img。然而,在 MS Teams 中,它似乎是由一些奇怪的代理/MITM 进行预处理的,并且 url 结果如下:

https://urlp.asm.skype.com/v1/url/content?url=https%3a%2f%2fcorporate-proxy.com%2fimages%2fimage1.png

当我们尝试浏览 url 以查看图片未渲染的原因时,我们在调试器中看到带有 502 响应代码的空白页面。

有没有办法强制 MS Teams 不更改src图片属性。

Sub*_*ish 1

为了在自适应卡中渲染图像,它必须托管在公共内容交付网络 (CDN) 中。这里是官方文档链接

它在 WebChat 客户端中有效,因为在浏览器中您的身份验证已被缓存,而在 Teams 应用程序中没有缓存并且图像需要身份验证。

您需要将映像托管在公共域或 Azure Blob 存储中才能使其正常工作。