我在一个大型组织中有一个 OneDrive for Business 用户帐户。我想要一个守护程序服务运行 (Python) 自动将文件上传到该用户的 OneDrive。
此服务将在无头 VM 中运行,因此基于浏览器的身份验证(尤其是需要进行多次时)非常困难。
验证此应用程序以允许其写入用户的 OneDrive 的选项有哪些?我已经注册了一个应用程序并为其创建了一个客户端密码。我正在试验此处描述的授权流程,但该 SDK 已弃用且不再受支持,因此如果可能,我更愿意使用 Graph。
在这种情况下,我使用 Python 进行身份验证的选项有哪些,是否有任何示例代码/示例可用?
MS Graph API 支持委派和应用程序权限:https://docs.microsoft.com/en-us/graph/api/drive-list?view=graph-rest-1.0&tabs=http。您的用例可能无法接受应用程序权限,因为它们将允许访问所有用户的 OneDrive?
应用程序权限绝对是最简单的选择。但您也可以使用委派权限来实现此场景。您需要用户通过一次交互身份验证来初始化流程。当他们这样做时,将刷新令牌存储在服务器应用程序可访问的秘密存储中。然后它可以在需要时使用刷新令牌来获取新的刷新令牌 + 访问令牌。这种方法有一些更复杂,但确实允许您仅授予对应用程序的此用户的 OneDrive 的访问权限。
另外,请记住,刷新令牌可能会过期。如果发生这种情况,用户将需要重新进行身份验证。如果这个过程很关键,那么尽管有缺点,应用程序权限可能是一个非常好的主意。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句