One Drive REST API - 当前经过身份验证的上下文对此请求无效
One Drive REST API - Current authenticated context is not valid for this request
我正在尝试构建一个通过 REST 调用向 One Drive 进行身份验证的后台服务。现在,我已经使用我自己的电子邮件 ID 在门户中注册了一个测试应用程序,并且能够获得一个令牌。
但是,当我尝试使用此端点查看我的驱动器中的所有文件时 - https://graph.microsoft.com/v1.0/me/drive/root/children,我收到一个错误请求 - 当前经过身份验证的上下文对此请求响应无效。
我不需要任何管理许可,因为始终只有来自此后台服务的用户。我提到的文章在这里 - https://developer.microsoft.com/en-us/graph/docs/concepts/auth_v2_service#3-get-administrator-consent
感谢任何帮助。
我想问题是您正在使用应用程序权限(client_credentials 流程)发出请求 - 其中没有登录用户上下文。您的请求是 /me,而 /me 基本上是登录用户的别名。您应该使用 GET /users/{idOrUserPrincipalName}/drive
代替。
根据您的要求使用应用程序权限或委托权限。您可以参考 authentication Scenarios for Azure AD 了解更多详情。或者你应该更多地解释你当前的情况。
我正在尝试构建一个通过 REST 调用向 One Drive 进行身份验证的后台服务。现在,我已经使用我自己的电子邮件 ID 在门户中注册了一个测试应用程序,并且能够获得一个令牌。 但是,当我尝试使用此端点查看我的驱动器中的所有文件时 - https://graph.microsoft.com/v1.0/me/drive/root/children,我收到一个错误请求 - 当前经过身份验证的上下文对此请求响应无效。 我不需要任何管理许可,因为始终只有来自此后台服务的用户。我提到的文章在这里 - https://developer.microsoft.com/en-us/graph/docs/concepts/auth_v2_service#3-get-administrator-consent
感谢任何帮助。
我想问题是您正在使用应用程序权限(client_credentials 流程)发出请求 - 其中没有登录用户上下文。您的请求是 /me,而 /me 基本上是登录用户的别名。您应该使用 GET /users/{idOrUserPrincipalName}/drive
代替。
根据您的要求使用应用程序权限或委托权限。您可以参考 authentication Scenarios for Azure AD 了解更多详情。或者你应该更多地解释你当前的情况。