OneDrive查询返回空数组

时间:2017-11-02 14:48:46

标签: microsoft-graph onedrive

我目前正致力于使用Microsoft Graph访问Office 365中的OneDrive的解决方案。我正在使用adal4j库来处理身份验证,并已在portal.azure.com中配置了应用。

我的问题涉及让儿童接受指定驾驶的电话。我正在使用类似于下面显示的查询,因为我想在指定用户驱动器的根级别获取文件夹和文件:

https://graph.microsoft.com/v1.0/users/*user id*/drives/*drive id*/root/children

当我登录Graph Explorer并执行查询时,我得到一个json结果,显示驱动器和指定用户的根文件夹内容。一切都按预期工作。

当我从我的java应用程序调用它时,JSON节点value为空([])。

最初我的想法是,因为Graph Explorer在门户网站中使用了不同的app id,这可能与访问权限有关。但是,我成功读取了O365租户中的用户配置文件,每个用户的驱动器ID,如果我执行以下操作:

https://graph.microsoft.com/v1.0/users/*user id*/drives/*drive id*/root/search(q='')

它为我提供了相应用户驱动器中所有文件夹,子文件夹等的完整列表。

因此,让我认为这是我试图使用的Graph查询的错误而不是授权问题,但是,这不能解释它在Graph Explorer中的工作原理。

所有调用使用相同的java方法,并将url作为参数传入。

1 个答案:

答案 0 :(得分:0)

为了跟进,azure门户网站应用程序权限可以为图形API添加权限。这确实是问题所在。看起来搜索忽略了权限并成功读取数据,而/ children调用则表示尊重安全模型。这引起了很多困惑,但现在已经解决了。

感谢Marc的帮助。