MS Graph API:找不到 OneDrive 资源

bap*_*rks 4 onedrive microsoft-graph-api

我正在构建一个 Windows 服务,使用以下方法通过 Graph API 连接到 OneDrive for Business: https: //graph.microsoft.io/en-us/docs/authorization/app_only

我已成功验证了我的应用程序,并拥有用于调用 Graph API 的令牌。我已向 Windows Azure Active Directory 和 Microsoft Graph 授予我的 Azure AD 应用程序权限(已为两者选择了所有应用程序和委派权限)。

我的目标是获取驻留在特定用户 OneDrive 中的文件夹的内容。我需要进行以下图形 API 调用:

//graph.microsoft.com/v1.0/users('user-guid')/drive/items/long-item-id-here/children
Run Code Online (Sandbox Code Playgroud)

我可以使用 Microsoft Graph Explorer(使用我的 Office 365 凭据登录)成功执行此请求。当我尝试进行与应用程序相同的调用(使用上面收到的身份验证令牌)时,我收到“itemNotFound”代码,其中包含消息“找不到资源”。(请求 ID:5e814dce-c4c2-4615-90e6-ea8ab90cbc49)。但是,我可以查询根目录,并且“folder.childCount”属性显示根目录中正确的子级数量:

//graph.microsoft.com/v1.0/users('user-guid')/drive/root
Run Code Online (Sandbox Code Playgroud)

我已将文件夹的共享设置为“所有经过身份验证的用户”,但我仍然从 API 调用中收到“找不到资源”。

关于我在这里缺少什么有什么想法吗?

Mar*_*eur 6

标记的答案不再是这样。现在,您可以使用客户端凭据授予(也称为“仅限应用程序”)访问 OneDrive 和 SharePoint 资源。

适用范围有Files.Read.All, Files.ReadWrite.All, Sites.Read.All,Sites.ReadWrite.All