提前告诉你,我用的是:
api.botframework
https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token
获取最新的代币等
我可以轻松接收附加文件,因为有 downloadUrl 不需要令牌,这是一个这样的示例:
"attachments": [
{
"contentType": "application/vnd.microsoft.teams.file.download.info",
"content": {
"downloadUrl": "https://ss-my.sharepoint.com/personal/vivliiev_mobilecoach_onmicrosoft_com/_layouts/15/download.aspx?UniqueId=15-long-token-PMhX6PELii6tA&ApiVersion=2.0",
"uniqueId": "15e14627-cd76-4a43-b4df-1bd0332e4e49",
"fileType": "mp4"
},
"contentUrl": "https://ss-my.sharepoint.com/personal/vivliiev_ss_onmicrosoft_com/Documents/Files of Chats Microsoft Teams/video (1).mp4",
"name": "video (1).mp4"
}
],
这就是当他们向我发送视频剪辑时我得到的:
"attachments": [
{
"contentType": "text/html",
"content": "<div><video src=\"https://us-api.asm.skype.com/v1/objects/0-eus-d19-c4a3116073700863bebc6a69d91e0dd6/views/video\" itemscope=\"\" itemtype=\"http://schema.skype.com/AMSVideo\" data-duration=\"PT3.617S\" width=\"1280\" height=\"720\">\r\nVideo-Clip</video></div>"
}
],
即使收到链接后,我也无法下载它,因为我需要在 ms-team 中获得授权,而 azure bot 的密钥不适合此目的。一般来说,向机器人发送除了 ms-tam 本身之外没有人可以下载的内容是否正常?从contentUrl中获取内容也是不可能的。
我尝试从链接获取内容:https://us-api.asm.skype.com/v1/objects/0-eus-d19-c4a3116073700863bebc6a69d91e0dd6/views/video 但无法实现这一点,用于 botframework 的那些密钥不足以获取此类内容。
根据提供的信息,由于授权要求,您似乎在从 Microsoft Teams 附件下载文件时遇到问题。在 Microsoft Teams 中接收附件时,您可能会遇到不同类型的内容,例如需要授权才能下载的文件。
对于您收到的视频剪辑附件,内容类型为“text/html”,视频源来自“https://us-api.asm.skype.com”。这表明视频内容托管在 Skype 服务器上,可能需要特定授权才能访问。 要从 Microsoft Teams 附件下载此类内容,您可以利用 Microsoft Teams 平台功能,例如自适应卡和任务模块。自适应卡允许您在 Microsoft Teams 中创建交互式且丰富的内容,而任务模块使您能够在 Teams 客户端中打开自定义模式对话框以执行特定任务。 以下是如何使用自适应卡在机器人中显示视频附件的示例:
解析附件内容并提取视频源URL。 创建一个带有指向视频源 URL 的视频元素的自适应卡片。 发送自适应卡作为对用户消息的响应。
{
"type": "AdaptiveCard",
"body": [
{
"type": "Container",
"items": [
{
"type": "Media",
"poster": "https://example.com/poster-image.jpg",
"sources": [
{
"mimeType": "video/mp4",
"url": "https://us-api.asm.skype.com/v1/objects/0-eus-d19-c4a3116073700863bebc6a69d91e0dd6/views/video"
}
]
}
]
}
]
}
通过在自适应卡中显示视频内容,用户可以直接在 Teams 界面中观看视频,无需单独下载。但如果需要下载视频,您可能需要根据视频托管服务的要求单独处理授权流程。