调用`GetMemberGroupsAsync`时不存在资源
问题描述:
我正在使用Microsoft.Azure.ActiveDirectory.GraphClient;
。调用`GetMemberGroupsAsync`时不存在资源
我打电话GetMemberGroupsAsync
如下:
IEnumerable<string> memberships = client.Groups.GetByObjectId(userObjectId).GetMemberGroupsAsync(true).GetAwaiter().GetResult();
我得到以下异常:
System.Data.Services.Client.DataServiceClientException: {"odata.error":{"code":"Request_ResourceNotFound","message":{"lang":"en","value":"Resource 'c92da223-a37f-4194-9bbf-74669885a0f0' does not exist or one of its queried reference-property objects are not present."}}}
at System.Data.Services.Client.BaseAsyncResult.EndExecute[T](Object source, String method, IAsyncResult asyncResult)
at System.Data.Services.Client.QueryResult.EndExecuteQuery[TElement](Object source, String method, IAsyncResult asyncResult)
上为什么会发生这种异常发生,以及如何解决它的任何想法?
答
错误表示您请求的组不存在。
根据代码,您可以通过userObjectId
获取组。确保这是一个有效的组ID而不是用户ID。
答
它更应该作为
var securityGroupMemberships = client.DirectoryObjects.GetByObjectId(userObjectId).GetMemberGroupsAsync(true).GetAwaiter().GetResult();
这给所有用户是部分安全组。
也许你打算获得*用户的*成员组?您现在正试图获得一个组,然后获取该组的组成员资格。 – juunas