使用Graph API获取用户合格角色遇权限问题求助
问题:无法通过Graph API获取Office 365用户的合格角色列表
我在使用Graph API获取用户的所有合格角色列表时遇到问题——能成功获取已分配角色,但拿不到合格角色。
我尝试的请求Uri:
https://graph.microsoft.com/v1.0/roleManagement/directory/roleEligibilityScheduleRequests- 替换为
beta版本请求,但均失败
收到的错误信息:
Invoke-RestMethod: {"error":{"code":"UnknownError","message":"{\"errorCode\":\"PermissionScopeNotGranted\",\"message\":\"Authorization failed due to missing permission scope RoleEligibilitySchedule.ReadWrite.Directory,RoleManagement.ReadWrite.Directory.\",\"instanceAnnotations\":[]}","innerError":{"date":"2023-06-12T19:27:46","request-id":"xxxxxxxxxxxxxxxxxxxxx","client-request-id":"xxxxxxxxxxxxxxxxxxxx"}}}
已做的排查:
- 已在Azure AD中确认配置了错误提示里提及的
RoleEligibilitySchedule.ReadWrite.Directory和RoleManagement.ReadWrite.Directory两个权限,且权限已于上周授予 - 尝试使用PowerShell命令
Get-MgRoleManagementDirectoryRoleEligibilityScheduleInstance,仍出现类似权限相关错误
请问有没有人成功通过该Uri或其他方式获取Office 365用户的合格角色?
以下是我使用的PowerShell调用代码(包含验证认证有效的成功请求):
C:\> $Params = @{ >> Uri = "https://graph.microsoft.com/v1.0/users/$email" >> Headers = @{ >> Authorization = "Bearer $Token" >> ConsistencyLevel = "eventual" >> } >> ErrorAction = 'Stop' >> } C:\> $User = (Invoke-RestMethod @Params) C:\> $Params.Uri = "https://graph.microsoft.com/beta/roleManagement/directory/roleEligibilityScheduleRequests" C:\> $Results = (Invoke-RestMethod @Params) Invoke-RestMethod: {"error":{"code":"UnknownError","message":"{\"errorCode\":\"PermissionScopeNotGranted\",\"message\":\"Authorization failed due to missing permission scope RoleEligibilitySchedule.ReadWrite.Directory,RoleManagement.ReadWrite.Directory.\",\"instanceAnnotations\":[]}","innerError":{"date":"2023-06-13T13:22:35","request-id":"xxxxxxxxxxxxxx","client-request-id":"xxxxxxxxxxxxxxxx"}}} C:\>
内容的提问来源于stack exchange,提问作者Andrew Draper
相关产品推荐
相关产品推荐

