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

2024-03-22

我们已经在我们的企业团队中启用了 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"
}

这在 WebChat 客户端中工作得很好,因为 url 只是附加到src的属性imgHTML 标签。然而在 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图片的属性。


为了在自适应卡中渲染图像,它必须托管在公共内容交付网络 (CDN) 中。这里的官方文档链接 https://learn.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-reference#common-properties-for-all-cards.

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐