Microsoft Teams 下载附件

问题描述 投票:0回答:1

我有一个 Teams Bot,我正在尝试下载用户在私人对话中附加的文件。我看到消息中的附件,如下所示:

contentURl: https://mycompany.sharepoint.com/personal/my_user/Documents/Microsoft Teams Chat Files/test 13.txt
content:
   downloadUrl: download -> https://mycompany-my.sharepoint.com/personal/my_user/_layouts/15/download.aspx?UniqueId=3c4dca93-3f06-4a0d-9675-61d50155582d&Translate=false&tempauth=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIwMDAwMDAwMy0wMDAwLTB...mUxZS

我缩短了上面示例中

downloadUrl
的中间部分。

读到,我可以直接使用 downloadUrl 的

download
链接(其中包含
tempauth
令牌)来访问该文件几分钟。

我的问题是,即使我在消息发送后几秒钟尝试下载,也无法使用

downloadUrl
下载附件。在curl或postman中使用简单的GET我得到401
{"error_description":"Unsupported security token."}
响应。当我将链接复制并粘贴到浏览器中时,我得到
Token contains invalid signature.
响应。

我做错了什么吗?非常感谢任何帮助。

microsoft-teams attachment
1个回答
0
投票

我们尝试了与您提到的相同的步骤,但得到了相同的错误:“令牌包含无效签名。”

我们观察到,即使令牌有效,它也不起作用,因为我们只能以流格式接收下载文件 URL 数据,而 Postman 或浏览器实际上不支持这种格式。

因此,我们尝试调试示例代码,效果很好。 const response = wait axios({ method: 'GET', url: downloadUrl, responseType: 'stream' });

请参考此示例: https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-file-upload/nodejs/services/fileService.js#L18

© www.soinside.com 2019 - 2024. All rights reserved.