调用`GetMemberGroupsAsync`时不存在资源

时间:2017-09-26 04:23:10

标签: azure azure-active-directory

我正在使用Microsoft.Azure.ActiveDirectory.GraphClient;

我打电话给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)

关于为什么会发生这种异常以及如何解决它的任何想法?

2 个答案:

答案 0 :(得分:0)

错误表示您请求的组不存在。

根据代码,您可以使用 Calendar cal = Calendar.getInstance(); 获取群组。确保这是一个有效的组ID而不是用户ID。

答案 1 :(得分:0)

应该用作

var securityGroupMemberships = client.DirectoryObjects.GetByObjectId(userObjectId).GetMemberGroupsAsync(true).GetAwaiter().GetResult();

这给出了用户所属的所有安全组。