【发布时间】:2015-09-07 08:41:28
【问题描述】:
我尝试实现 O365 统一 api(测试版)。我成功获得了所有组,但是在尝试获取特定组的文件时遇到了问题。
错误信息是“未授权 (401)”。
当我签入提琴手时,它在 webview 中从服务器返回错误。
我已经授予权限(阅读所有网站集 ,所有组,所有文件),仍然无法访问文件。
如果有人知道如何解决这个问题,请帮助我。
【问题讨论】:
标签: office365
我尝试实现 O365 统一 api(测试版)。我成功获得了所有组,但是在尝试获取特定组的文件时遇到了问题。
错误信息是“未授权 (401)”。
当我签入提琴手时,它在 webview 中从服务器返回错误。
我已经授予权限(阅读所有网站集 ,所有组,所有文件),仍然无法访问文件。
如果有人知道如何解决这个问题,请帮助我。
【问题讨论】:
标签: office365
首先,让我们确保我们使用了正确的方法:
根据https://msdn.microsoft.com/en-us/office/office365/howto/groups-rest-operations 的文档,确保您使用的是此方法:
列出所有文件和文件夹 获取组中所有即时文件和文件夹的列表。 所需范围:Group.Read.All
GET https://graph.microsoft.com/{version}/{tenant}/groups('{groupId}')/files
回应 如果成功,则返回组中文件和文件夹的子集合。请注意,这不会返回组中直接文件夹的子级。
示例请求
GET https://graph.microsoft.com/beta/contoso.com/groups('c75831bd-fad3-4191-9a66-280a48528679')/files
其次,让我们排除 API Preview/Beta 模式的一些特殊性:
请针对您的测试场景https://msdn.microsoft.com/en-us/office/office365/howto/office-365-rest-api-release-notes 查看并验证以下 3 个注意事项:
创建后无法立即访问内容
可以通过组上的 POST 立即创建统一组 实体。但是,对于通过 统一API,访问关联内容不会很轻松 可用的。应用程序将能够开始向群组添加内容 (文件、对话和事件)在一段时间后,如 如下:
For conversations and events, up to 40 minutes after group creation For files, up to 24 hours after group creation在此之前,尝试使用内容更新统一组 将导致 500 HTTP 错误响应。用于概念验证 使用 Office 365 统一 API 的应用程序,我们建议 如果您使用 Outlook 或 Outlook Web App 创建统一组 需要立即访问内容。
政策
使用 Office 365 统一 API 创建和命名统一组 绕过通过配置的任何统一组策略 Outlook Web 应用程序。对于使用 Office 的概念验证应用程序 365统一API,建议您使用Outlook或Outlook Web App 创建统一的组。
权限范围
Office 365 统一 API 为统一公开了两个权限范围 组:
Group.Read.All Group.ReadWrite.All这些范围提供对组管理功能的访问(枚举 组,枚举组成员)以及访问 组(对话和事件)。但是,为了访问文件 一个统一的组,您还必须请求 Sites.Read.All 或 Site.ReadWrite.All 权限范围。有关这些的更多信息 权限范围,请参阅 Office 365 统一 API 入门 (预览)。
最后,检查您查询的组是否有任何不同 如果您在 Graph Explorer 中查看组,您是否发现它与其他地方和测试租户之外的组之间的组元数据有任何差异?可能有一个确凿的财产脱颖而出。
【讨论】:
很可能是因为您没有 Site.Read.All 权限,这是访问组文件的临时要求。
【讨论】: