首页 > 解决方案 > 用户:Graph java sdk 1.6 中不存在 getMemberGroups 方法

问题描述

我正在使用图形 API JAVA sdk(v1.6.0),我正在尝试获取特定用户所在的所有组 。https://docs.microsoft.com/en-us/graph/api/user-getmembergroups? view=graph-rest-1.0&tabs=java#example 根据 API doc,我可以执行以下操作:

graphClient.me()
    .getMemberGroups(securityEnabledOnly)
    .buildRequest()
    .post();

但是,在 java sdk 1.6.0 中,getMemberGroups() 在 UserRequestBuilder.java 类下不存在。 https://github.com/microsoftgraph/msgraph-sdk-java/blob/0041e58287f02036c37a8ae0a1bf30f1f616991a/src/main/java/com/microsoft/graph/requests/extensions/UserRequestBuilder.java

我错过了什么吗?

标签: azure-active-directorymicrosoft-graph-apimicrosoft-graph-sdks

解决方案


我认为他们已经用另一种方法替换了 getMemberOf() 方法memberOf()。我能够使用以下代码获取特定用户的所有组:

 public static void getUserGroups(String accessToken) {
        ensureGraphClient(accessToken);
        String upn="test@testDomain.com";
        
         IDirectoryObjectCollectionWithReferencesPage iDirectoryObjectCollectionWithReferencesPage = graphClient.users(upn).memberOf().buildRequest().get();
         List<DirectoryObject> directoryObjects = iDirectoryObjectCollectionWithReferencesPage.getCurrentPage();
         for (DirectoryObject directoryObject : directoryObjects) {
            if(directoryObject.oDataType.equalsIgnoreCase("#microsoft.graph.group")) {
                System.out.println(directoryObject.getRawObject().get("displayName"));
            }
        }
    }

推荐阅读