适用于 MS Teams 的自适应卡片 - 图像显示在 Web 界面中,但不显示在桌面应用程序中
Adaptive cards for MS Teams - images displaying in web interface but not desktop application
我经常遇到团队和自适应卡片的问题。如果我 post 来自 Flow post 自适应卡连接器或直接来自图表 API 的卡片似乎并不重要,我的卡片中的图像显示在团队网络浏览器中界面,但不在桌面应用程序中。
除了卡显示正常,就是桌面无图像渲染。很难调试,因为它在 chrome 中工作正常,如果有一种方法可以查看桌面应用程序源代码以查看该 img url 是否被添加了前缀或替换或其他内容。
奇怪的是,我看过一些它为其他人工作的视频,但是。这是我在 Graph API body JSON...
中的卡片代码
{
"subject": null,
"body": {
"contentType": "html",
"content": "<attachment id=\"74d20c7f34aa4a7fb74e2b30004247c5\"></attachment>"
},
"attachments": [
{
"id": "74d20c7f34aa4a7fb74e2b30004247c5",
"contentType": "application/vnd.microsoft.card.adaptive",
"contentUrl": null,
"content": "{ \"type\": \"AdaptiveCard\", \"body\": [ {
\"type\": \"TextBlock\",
\"size\": \"Medium\",
\"weight\": \"Bolder\",
\"text\": \"Hello andy\"
},
{
\"type\": \"Image\",
\"altText\": \"\",
\"url\": \"https://companyname.sharepoint.com/sites/TeamsDev/ImageLib/imagebname.jpg\"
}
],
\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",
\"version\": \"1.0\"
}",
"name": null,
"thumbnailUrl": null
}
]
}
根据评论,这是因为图片 Url - 它是一个 SharePoint Url ,因此在 Web 客户端中默默地使用用户登录会话,但在桌面客户端。
是的,当您尝试使用共享点 url 在 Adaptive Card 中加载图像时,它使用图像中的 accessToken url(如果您尝试调试,您可以看到)使用相同的用户凭据在 Teams Web 版本中加载自适应卡,因为会话可以正常工作,但这种相同的行为不适用于 Teams Desktop 客户端。最好将图像放入解决方案本身并从那里使用。
我经常遇到团队和自适应卡片的问题。如果我 post 来自 Flow post 自适应卡连接器或直接来自图表 API 的卡片似乎并不重要,我的卡片中的图像显示在团队网络浏览器中界面,但不在桌面应用程序中。
除了卡显示正常,就是桌面无图像渲染。很难调试,因为它在 chrome 中工作正常,如果有一种方法可以查看桌面应用程序源代码以查看该 img url 是否被添加了前缀或替换或其他内容。
奇怪的是,我看过一些它为其他人工作的视频,但是。这是我在 Graph API body JSON...
中的卡片代码{
"subject": null,
"body": {
"contentType": "html",
"content": "<attachment id=\"74d20c7f34aa4a7fb74e2b30004247c5\"></attachment>"
},
"attachments": [
{
"id": "74d20c7f34aa4a7fb74e2b30004247c5",
"contentType": "application/vnd.microsoft.card.adaptive",
"contentUrl": null,
"content": "{ \"type\": \"AdaptiveCard\", \"body\": [ {
\"type\": \"TextBlock\",
\"size\": \"Medium\",
\"weight\": \"Bolder\",
\"text\": \"Hello andy\"
},
{
\"type\": \"Image\",
\"altText\": \"\",
\"url\": \"https://companyname.sharepoint.com/sites/TeamsDev/ImageLib/imagebname.jpg\"
}
],
\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",
\"version\": \"1.0\"
}",
"name": null,
"thumbnailUrl": null
}
]
}
根据评论,这是因为图片 Url - 它是一个 SharePoint Url ,因此在 Web 客户端中默默地使用用户登录会话,但在桌面客户端。
是的,当您尝试使用共享点 url 在 Adaptive Card 中加载图像时,它使用图像中的 accessToken url(如果您尝试调试,您可以看到)使用相同的用户凭据在 Teams Web 版本中加载自适应卡,因为会话可以正常工作,但这种相同的行为不适用于 Teams Desktop 客户端。最好将图像放入解决方案本身并从那里使用。