【发布时间】:2019-11-04 17:29:34
【问题描述】:
- 在 Microsoft Teams 中,我创建了一个在选项卡中列出特定类型文件的应用程序
- 用例是我的Javascript需要读取文件的内容
- Tab 中的 Javascript已经成功获得了 ID 令牌和访问令牌(通过 ADAL)
- 此代码已经成功列出了当前登录用户可以看到的组中的 DriveItems
通过
https://graph.microsoft.com/v1.0/groups/${groupId}/drive/root/search(q='{pdf}');` -
当我尝试通过
https://graph.microsoft.com/v1.0/groups/${groupId}/drive/items/${itemId}/content第一次调用返回
itemId我成功看到来自
https://graph.microsoft.com端点的HTTP 302 重定向到https://<thesharepointsite>.sharepoint.com/<etc>
Axios(和 Microsoft Graph Javascript API)成功地遍历到重定向
邮递员,使用相同的
https://graph...URL 和 AccessToken 成功地从 302 重定向下载二进制内容(所以这不是 Auth 问题)
问题
- 在 Microsoft Teams 中,在我的选项卡中,浏览器(内置于 Teams 桌面应用程序中)对
https://<thesharepointside>.sharepoint.com的 HTTP 调用在 OPTIONS 调用上响应 405 错误 - 通常这意味着存在 CORS 问题,因此解决方案是将域添加到应用的
validDomains
尝试的解决方案
- Manifest 在 validDomains 中有以下条目
"validDomains": [
...
"*.sharepoint.com",
"graph.microsoft.com",
"login.microsoftonline.com"
]
- 手动将整个域添加到 Teams 应用的清单中
- 按照https://docs.microsoft.com/en-us/microsoftteams/platform/resources/schema/manifest-schema#validdomains 使用建议的“{teamsitedomain}”
- *.sharepoint.com 如上所述
- 使用 Microsoft Graph Javascript API
在所有情况下,我都会在 OPTIONS 调用中得到 405
没有从 Microsoft Teams 的选项卡中下载文件。
建议?
【问题讨论】:
标签: microsoft-teams