![](/img/trans.png)
[英]Microsoft Graph API update user authentication method - Access Denied
[英]Microsoft Graph API code-base solution to access a user OneDrive
我想要访问特定工作用户的 OneDrive。 我可以在 Azure AD 中注册一个应用程序并分配两种类型的权限(委托或应用程序)中的一种。
根据Microsoft 文档,如果我注册一个具有应用程序级访问权限的应用程序,它可以访问所有用户的驱动器,并且根据 Stackoverflow 中的这个问题,没有办法限制对特定驱动器的访问。 所以我忽略了这种方法。
另一方面,根据Microsoft 文档,如果我想将委托权限分配给定义的应用程序,我必须在同意页面上手动批准访问列表。 这对我来说并不理想,因为我正在寻找一种在幕后常规基础上运行的代码库解决方案。
有什么解决方案可以让我通过 python 代码访问特定的 OneDrive 吗?
一个好的建议是使用Graph API for OneDrive 。
例如,用例之一可以是获取当前用户的 OneDrive :
可以从
me
singleton 访问登录用户的驱动器(使用委托身份验证时)。如果未预配用户的 OneDrive 但用户拥有使用 OneDrive 的许可证,则在使用委派身份验证时,此请求将自动预配用户的驱动器。
Http 请求:
GET /me/drive
可帮助您从 Python 调用 Graph API 的资源:
https://github.com/microsoftgraph/python-security-rest-sample
此外,我找到了一种可以禁用用户同意的方法。
要通过Azure 门户配置用户同意设置:
如果您想要除此之外的同意权限,您可以设计自己的 Consent 。
如果您只想连接 1 个用户的 Onedrive,您可以使用适用于您的方案的ROPC 流程。 但出于安全考虑,微软不推荐这样做。 是的,如果启用了 MFA,则无法使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.