azure-active-directory - 用户: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。
我错过了什么吗?
解决方案
我认为他们已经用另一种方法替换了 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"));
}
}
}
推荐阅读
- javascript - 基于特定对象之间的对象 ID 序列的数组连接
- python-multiprocessing - 如何使用带有 .apply 功能的 multiprocess.Pool?
- c++ - C++:简化#define
- python - 下载特定区域的 CMIP6 数据
- php - 在外部域上通过 IIS 运行 PHP
- sql - 多个选择语句不起作用但单独会(循环和大小写)
- javascript - InertiaJS 在验证错误后保留表单数据
- javascript - paytm_allinone_react-native 支付在生产模式下失败
- mysql - GROUP BY 并选择具有两列条件的最大 ID
- javascript - Javascript:替换多行字符串中第 n 次出现的子字符串