Azure active directory insights/shared return 403,insights/used return成功响应

Azure active directory insights/shared return 403,insights/used return成功响应,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,我使用图形浏览器来测试它 API:GET/users/{userPrincipalName}/insights/shared,返回403 API:GET/users/{userPrincipalName}/insights/used,返回200个已使用的文档 两个API都需要相同的权限: Sites.Read.All,Sites.ReadWrite.All 有人能帮忙吗 如果您调用GET/users/{id | userPrincipalName}/insights/shared,请确保您拥有站

我使用图形浏览器来测试它

API:GET/users/{userPrincipalName}/insights/shared,返回403

API:GET/users/{userPrincipalName}/insights/used,返回200个已使用的文档

两个API都需要相同的权限: Sites.Read.All,Sites.ReadWrite.All

有人能帮忙吗


如果您调用
GET/users/{id | userPrincipalName}/insights/shared
,请确保您拥有站点.Read.All站点.ReadWrite.All
应用程序权限
(不要忘记为此权限授予管理员同意),因为没有用户登录到
/users
端点。然后您需要使用来获取访问令牌


更新:

当您使用图形浏览器进行测试时,因为您需要以用户身份登录,您实际上使用了通过用户名/密码流获得的令牌。根据:只有用户可以使用用户id或主体名称发出请求。

登录到用户时,只能使用登录用户的id或主体名称。您不能使用其他用户的id,否则将报告403错误。但是,当您使用其他工具(如postman)进行测试时,因为您不是以用户身份登录,而是使用应用程序作为服务主体发出请求,因此,您可以从其他用户处获得共享文档的列表


总结为一句话:只要您以用户身份登录,您就只能获得登录用户的共享文档列表。如果您想从其他用户处获取共享文档列表,请不要登录用户。

用于解析您的访问令牌并提供屏幕截图。如果我的答案对您有帮助,您可以将其作为答案接受(单击答案旁边的复选标记,将其从灰色切换为已填写)。这对其他社区成员有益。谢谢./insights/shared和/insights/used拥有相同的权限,/insights/used有效,但/insights/shared无效。所以这里不是权限问题。我使用Graph Explorer对其进行测试。@KingCao您好,请尝试使用postman。@KingCao您需要向应用程序授予应用程序权限,然后使用postman进行测试。我刚刚使用Graph Explorer进行了测试,它还向我返回了403,因为Graph Explorer默认使用委派权限。有趣的是,我可以通过Graph Explorer获取见解/使用,insights/used与insights/shared具有相同的权限,根据