查询 OneDrive returns 空列表中的文件

Query for files in OneDrive returns empty list

我想创建一个简单的 Python 实用程序来与 OneDrive 上的文件进行交互。现在我正在使用我的公司帐户(因此我无法访问管理设置或对 OneDrive/Sharepoint/Azure 配置的任何详细了解)。

经过快速谷歌搜索后,Microsoft Graph 似乎是最佳选择。我从复制 the sample app 开始,一旦我验证了基本功能正常工作(它显示了我个人资料中的名称等),我尝试添加一个简单的调用 me/drive/root/children 以列出根目录中的文件目录。而且我无法让它工作。

无论我做什么,服务器 returns 如下:

{'@odata.context': "https://graph.microsoft.com/v1.0/$metadata#users('my_oid')/drive/root/children", 'value': []}

这个问题发生在few people之前,所以我尝试按照他们的路径进行。到目前为止,我检查过:

None 这行得通。这里可能缺少什么?

编辑:缺少的是用户同意 - 我已经添加了权限,但系统在登录尝试后从未询问过我有关更改的信息。评论中提供的解决方案有效 - 你只需要打开 URL 制作如下:

https://login.microsoftonline.com/{tenant}/oauth2/authorize?client_id={your_client_id}&response_type=code&response_mode=query&resource=https://graph.microsoft.com&state=12345&prompt=consent

同意新权限,瞧!干得好女士

更新权限后,用户 and/or 管理员必须同意 again.You 可以通过 url 请求强制用户同意,或者只需在 Azure 门户中单击 'grant admin consent button'。

https://login.microsoftonline.com/{tenant}/oauth2/authorize? client_id={your_client_id} &response_type=code &response_mode=query &resource=https://graph.microsoft.com &state=12345 &prompt=consent