首页 文章

MS Graph API:找不到OneDrive资源

提问于
浏览
2

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

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

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

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

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

//graph.microsoft.com/v1.0/users('user-guid')/drive/root

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

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

2 回答

  • 2

    明确的答案不再是这样 . 您现在可以使用客户端凭据授权(也称为“仅App”)访问OneDrive和SharePoint资源 .

    适用范围是 Files.Read.AllFiles.ReadWrite.AllSites.Read.AllSites.ReadWrite.All

  • 2

    该应用程序正在使用App-only authorization,目前不支持通过Microsoft Graph API访问OneDrive for Business . 请使用图形资源管理器使用的delegated flow .

相关问题